선형 점화식 난수 생성기

선형 점화식의 처음 k개 항과 계수, 그리고 매우 큰 N이 주어질 때 N번째 항을 104857601로 나눈 나머지를 구한다.

어려움8수학분할 정복정수론아직 제출이 없습니다시간 제한15초메모리 제한512 MB

문제

로또 자동 제출 프로그램에 넣을 난수 생성기(RNG)를 만든다. 이 생성기는 다음 선형 점화식으로 수열 AA를 만든다.

Ai=(Ai1C1+Ai2C2++AikCk)mod104857601(i>k)A_i = (A_{i-1} C_1 + A_{i-2} C_2 + \cdots + A_{i-k} C_k) \bmod 104857601 \qquad (i > k)

kkNN, 초기항 A1,A2,,AkA_1, A_2, \ldots, A_k, 계수 C1,C2,,CkC_1, C_2, \ldots, C_k가 주어질 때 ANA_N을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 kkNN이 공백으로 구분되어 주어진다. (1k300001 \le k \le 30000, 1N10181 \le N \le 10^{18})

둘째 줄에 A1,A2,,AkA_1, A_2, \ldots, A_k가 공백으로 구분되어 주어진다.

셋째 줄에 C1,C2,,CkC_1, C_2, \ldots, C_k가 공백으로 구분되어 주어진다. (0Ai,Ci<1048576010 \le A_i, C_i < 104857601)

출력

첫째 줄에 ANA_N을 출력한다. ANA_N은 항상 104857601보다 작다.