注意
本問題は 制約強化版 です。
Ei=1とした簡易版は別に出題します。
問題文
二項係数(RN)をMで割った余りを求めてください。
ここで、M=∏i=1CPiEiと素因数分解できることが保証されます。
制約
- 1≤R≤N≤1018
- 2≤M≤107
- M=∏i=1CPiEi
- 1≤C
- 2≤P1<P2<・・・<PC
- Piは互いに相異なる 素数
- 1≤Ei
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N R M
C
P1 P2 ・・・ PC
E1 E2 ・・・ EC
出力
答えを出力せよ。
入出力例
(25)=10です。
これを4で割った余りは2です。
(2255)=1300853625660225です。
これを44で割った余りは21です。
入力例3
57 29 777787
1
777787
1
(2957)=15033633249770520です。
これを777787で割った余りは724783です。
入力例4
31415 92 65
2
5 13
1 1
(9231415)≈3.8364×10271です。
これを65で割った余りは35です。
入力例5
12345679 777777 720720
6
2 3 5 7 11 13
4 2 1 1 1 1
(77777712345679)≈4.1512×101260755です。
これを720720で割った余りは665280です。