SEQ16 - Recursive Sequence
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

Cho dãy (ai) các số tự nhiên được định như sau:

  ai = bi (với  i <= k)
  ai = c1ai-1 + c2ai-2 + ... + ckai-k (với  i > k)

với bici là các số tự nhiên cho trước (1<=j<=k). Hãy tính an modulo 109, với n cho trước.

Dữ liệu

Dòng đầu tiên chứa số c là số lượng test (1<=c<=1000). Mỗi test chứa 4 dòng:

Dòng 1: chứa số k, là số phần tử của dãy c và b (1 <= k <= 10)
Dòng 2: chứa các số b1,...,bk
  với 0 <= bj <= 109, mỗi số cách nhau một dấu cách.
Dòng 3:chứa các số c1,...,ck  với 0 <= cj <= 109, mỗi số cách nhau một dấu cách.
Dòng 4: chứa số n (1 <= n <= 109)

Kết quả 

Gồm c dòng, mỗi dòng là kết quả của một test, ghi giá trị: an modulo 109

Ví dụ

Input:



5 8 2 
32 54 6 


1 2 3 
4 5 6 


24 354 6 
56 57 465 
98765432

Output:


714 
257599514


Nguồn: spoj.com

Back to Top