线性变换
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小F有一个序列 ,他决定进行 T 轮操作,来产生一个加密值 X

在一开始,他有一个下标 P,一对线性变换系数 ,加密值 X 的初始值为 0

每一轮重复如下过程:

1.
2.

请你帮他计算这个加密值 X 最后是多少。

输入描述:

第一行输入五个整数 
第二行输入 n 个整数 ,表示这个序列。

输出描述:

输出一个整数,表示最终的加密值X
示例1

输入

复制
7 1 1 3 4 
1 4 2 2 5 10 1

输出

复制
12

说明

四轮操作依次为:
第一轮:$P = 1,X = 0 + 4 = 4$
第二轮:$P = (1 \times 1 + 3) \% n =  4 , X = 4 + 5 = 9$
第三轮:$P = (1 \times 4 + 3) \% n = 0 , X = 9 + 1 = 10$
第四轮:$P = (1 \times 0 + 3) \% n = 3 , X = 10 + 2 = 12$
示例2

输入

复制
8 3 2 0 2 
1 2 3 4 8 7 6 5

输出

复制
10