貓咪要從小一升到小二了,老師在課堂上教了加法,一開始老師會給 N 個數字 a0∼aN−1 (0≤ai<998244353),貓咪要做的就是把他們以以下形式加起來:
ck=∑x⊆kax (mod 998244353),x⊆k 代表 x & k=x,其中 & 是 bitwise and。
這樣可以得到 N 個數字 c0∼cN−1。貓咪在算好 c0∼cN−1 後不小心打翻了墨水,把 a0∼aN−1 都塗黑了,給你 c0∼cN−1,你能幫貓咪算出 a0∼aN−1 嗎?
輸入只有一行,有三個數字 N,c0 ,t。
你要利用 c0 和 t 生成出 c1∼cN−1:
ci=10007×ci−1+t (mod 998244353)
輸出一個數字 X,其中 X=a0 xor a1 xor ... xor aN−1
8 10 5
846307968
1048576 0 0
0
1048576 0 1
587805620
由於生測資的時候出現意外,每一行數字最後面都沒有空格。
在範例一,a0∼aN−1=10,100065,3206167,137087706,392432960,589157411,656220470,688913139。
c0≡a0≡10c1≡a0+a1≡100075≡10007×c0+5c2≡a0+a2≡3206177≡10007×c1+5c3≡a0+a1+a2+a3≡140393948≡10007×c2+5c4≡a0+a4≡392432970≡10007×c3+5c5≡a0+a1+a4+a5≡981690446≡10007×c4+5c6≡a0+a2+a4+a6≡53615254≡10007×c5+5c7≡a0+a1+a2+a3+a4+a5+a6+a7≡470629222≡10007×c6+5
a0 xor a1 xor a2 xor a3 xor a4 xor a5 xor a6 xor a7=846307968。
--------------------------------------------------------------------
:無特別限制100%:無特別限制