题目描述
長さ
L の等差数列
s0, s1, s2, ... , sL−1 があります。
この等差数列の初項は A、公差は B です。つまり、si = A + B × i が成り立ちます。
この数列の各項を、先頭に 0 の無い十進法表記に直し、順につなげて読んでできる整数を考えます。たとえば、数列 3, 7, 11, 15, 19 をつなげて読んでできる整数は 37111519 となります。この整数を M で割ったあまりはいくらでしょうか。
输入格式
入力は以下の形式で標準入力から与えられます。
L A B M
输出格式
数列の各項をつなげて読んだ整数を M で割ったあまりを出力してください。
题目大意
有一等差数列,首项为 A,公差为 B,长度为 L。
现在把这个数列中所有数拼起来(e.g. 3,7,11,15,19−>37111519)。
问拼起来的这个数 modM 的值。
1≤L,A,B≤1018,1≤M≤109
提示
制約
- 入力はすべて整数である
- 1 ≤ L, A, B < 1018
- 2 ≤ M ≤ 109
- 等差数列の要素は全て 1018 未満
Sample Explanation 1
考える等差数列は 3, 7, 11, 15, 19 なので,37111519 を 10007 で割ったあまりである 5563 が答えです.