apps_739


Submit solution

Points: 3
Time limit: 30.0s
Memory limit: 250M

Problem type
Allowed languages
Python

You are given Q tuples of integers (L_i, A_i, B_i, M_i). For each tuple, answer the following question. There is an arithmetic progression with L terms: s_0, s_1, s_2, ... , s_{L-1}. The initial term is A, and the common difference is B. That is, s_i = A + B \times i holds. Consider the integer obtained by concatenating the terms written in base ten without leading zeros. For example, the sequence 3, 7, 11, 15, 19 would be concatenated into 37111519. What is the remainder when that integer is divided by M?

-----Constraints-----

  • All values in input are integers.
  • 1 \leq L, A, B < 10^{18}
  • 2 \leq M \leq 10^9
  • All terms in the arithmetic progression are less than 10^{18}.

-----Input----- Input is given from Standard Input in the following format: L A B M

-----Output----- Print the remainder when the integer obtained by concatenating the terms is divided by M.

-----Sample Input----- 5 3 4 10007

-----Sample Output----- 5563

Our arithmetic progression is 3, 7, 11, 15, 19, so the answer is 37111519 mod 10007, that is, 5563.


Comments

There are no comments at the moment.