题目描述
给定一个长度为 N 的序列 A1,A2,...,AN,以及 Q 次操作,询问操作后的序列情况。
A 序列根据 5 个参数 N,S,X,Y,Z 确定,其中 N 表示序列长度:
A1=S
Ai+1=(X×Ai+Y)modZ,i=1,2,...,N−1
每个操作有 4 个参数 S,T,U,V,表示对于每一个 U≤i≤V,操作:
Ai←Ai+Ai−U+S
注意,这个操作是区间安全的,也就是说不会引起连锁反应。
例如:A={1,2,3,4},(S,T,U,V)=(1,3,2,4) 时,会做如下操作:
A2=A2+A1,此时序列变为 A={1,3,3,4}
A3=A3+A2,此时序列变为 A={1,3,5,4}
A4=A4+A3,此时序列变为 A={1,3,5,7}
注意:每个表达式计算值的时候,都是按照整个操作前的值来进行,而不是上次赋值之后的新的值来操作。你可以理解成另有一个序列 B,先计算出结果赋值给 B,操作完成后再将 B 整体赋值给 A。
Q 次操作完成后,你需要输出整个序列。由于 Ai 会很大,你只需要根据奇偶性输出。如果第 i 个整数 Ai 是偶数,输出字符 E,否则输出字符 O。
输入格式
第一行 5 个整数 N,S,X,Y,Z。
第二行 1 个整数 Q。
后续 Q 行,每行 4 个整数 Si,Ti,Ui,Vi。
输出格式
一行,长度为 N 的字符串,第 i 个字符表示 Ai 的奇偶性,E 表示偶数,O 表示奇数。
样例输入输出
样例输入1
10 8 1 3 5
3
3 5 7 9
3 10 1 8
1 3 1 3
样例输出1
EEEOOOOEEE
样例说明1
初始序列是:A=8,1,4,2,0,3,1,4,2,0。
第一次操作后:A=8,1,4,2,0,3,5,6,2,0。
第二次操作后,A=12,3,4,5,5,9,7,6,2,0。
第三次操作后,A=24,6,8,5,5,9,7,6,2,0。
根据奇偶性得到答案为:EEEOOOOEEE。
样例输入2
20 8 4 7 19
7
1 13 6 18
13 20 4 11
1 10 2 11
11 20 1 10
1 3 4 6
1 2 6 7
12 14 7 9
样例输出2
OEEEOOOEOOOOEOOOEEEO
数据范围
20% 的数据,Q≤1000,Ti−Si=Vi−Ui≤1000。
100% 的数据,1≤N≤2×106,0≤S,X,Y≤109,1≤Z≤109,0≤Q≤2×105,1≤Si≤Ti≤N,1≤Ui≤Vi≤N,Ti−Si=Vi−Ui≤105。