問題文
非負整数 a,b について f(a,b) を以下のように定めます。
- b=0 なら、f(a,0)=a
- b=0 なら、f(a,b)=f(a xor b,2×(a and b))
ここで、xor,and はそれぞれbitwise xorとbitwise andを表します。
正整数 X,N と長さ N の非負整数列 A が与えられます。
長さ N の非負整数列 B=(B1,B2,…,BN) を、次のように定義します。
- B1=f(X,A1)
- 2≤i≤N に対して、Bi=f(Bi−1,Ai)
非負整数列 B を出力してください。
制約
- 1≤N≤2×105
- 0≤X≤109
- 0≤Ai≤109
入力
出力
非負整数列 B=(B1,B2,…,BN) を以下の形式で出力してください。
入力例1
出力例1
以下の計算により、B=(2,4) を得ます。
- B1=f(X,A1)=f(1,1)=f(1 xor 1,2×(1 and 1))=f(0,2)=f(0 xor 2,2×(0 and 2))=f(2,0)=2
- B2=f(B1,A1)=f(2,2)=f(2 xor 2,2×(2 and 2))=f(0,4)=f(0 xor 4,2×(0 and 4))=f(4,0)=4
入力例2
出力例2
998244353 998244353 998244353