灵核共振系统(resonance)
题目描述
灵域研究中心正在进行一项长期实验,小刘负责记录一套“灵核共振系统”的运行结果。
系统中存在一个核心能量值 x。实验刚开始时,核心能量值为 x=1。
系统每天都会自动运行一次。由于灵核在不同日期会受到不同方向的能量影响,所以奇数天和偶数天的变化规则并不相同。
如果当天是第 1,3,5,… 天,也就是奇数天,系统会按照如下规则更新核心能量值:
x=(x×A+B)modM
如果当天是第 2,4,6,… 天,也就是偶数天,系统会按照如下规则更新核心能量值:
x=(x×C+D)modM
其中 mod 表示取余运算。
系统将连续运行 T 天。由于实验持续时间很长,小刘无法逐日手动记录所有变化结果。
请你帮助小刘计算:第 T 天结束后,系统中的核心能量值是多少。
输入格式
输入文件:resonance.in
输入一行六个整数 A,B,C,D,M,T,分别表示奇数天变化参数、奇数天固定增量、偶数天变化参数、偶数天固定增量、系统稳定上限和系统连续运行的天数。
输出格式
输出文件:resonance.out
输出一个整数,表示第 T 天结束后的核心能量值。
样例
2 3 3 1 100 6
46
样例说明
初始时 x=1。
第 1 天为奇数天:x=(1×2+3)mod100=5。
第 2 天为偶数天:x=(5×3+1)mod100=16。
第 3 天为奇数天:x=(16×2+3)mod100=35。
第 4 天为偶数天:x=(35×3+1)mod100=6。
第 5 天为奇数天:x=(6×2+3)mod100=15。
第 6 天为偶数天:x=(15×3+1)mod100=46。
数据范围
对于 30% 的数据:1≤T≤105。
对于 60% 的数据:1≤M≤105。
对于 100% 的数据:1≤A,B,C,D<M≤2×106,1≤T≤1018。
提交要求
本题使用文件输入输出。C++ 程序可使用:
freopen("resonance.in", "r", stdin);
freopen("resonance.out", "w", stdout);