[SDOI2008]递归数列
题号:NC20320
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

一个由自然数组成的数列按下式定义:
对于i <= kai = bi
对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k
其中bj cj 1<=j<=k)是给定的自然数。写一个程序,给定自然数m <= n, 计算am + am+1 + am+2 + ... + an并输出它除以给定自然数p的余数的值。

输入描述:

由四行组成。
第一行是一个自然数k。
第二行包含k个自然数b1, b2,...,bk
第三行包含k个自然数c1, c2,...,ck
第四行包含三个自然数m, n, p。

输出描述:

仅包含一行:一个正整数,表示(am + am+1 + am+2 + ... + an) mod p的值。
示例1

输入

复制
2
1 1
1 1
2 10 1000003

输出

复制
142

备注:

对于20%的数据,
对于另外30%的数据,
对于100%的数据,