配点: 600 点
問題文
長さ L の等差数列 s0,s1,s2,...,sL−1 があります。
この等差数列の初項は A、公差は B です。つまり、si=A+B×i が成り立ちます。
この数列の各項を、先頭に 0 の無い十進法表記に直し、順につなげて読んでできる整数を考えます。たとえば、数列 3,7,11,15,19 をつなげて読んでできる整数は 37111519 となります。この整数を M で割ったあまりはいくらでしょうか。
制約
- 入力はすべて整数である
- 1≤L,A,B<1018
- 2≤M≤109
- 等差数列の要素は全て 1018 未満
入力
入力は以下の形式で標準入力から与えられます。
L A B M
出力
数列の各項をつなげて読んだ整数を M で割ったあまりを出力してください。
考える等差数列は 3,7,11,15,19 なので,37111519 を 10007 で割ったあまりである 5563 が答えです.