難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

It Looks Difficult

作成者 kammyu

難易度(作成者設定) Lv.3

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

非負整数 a,ba,b について f(a,b)f(a,b) を以下のように定めます。

  • b=0b=0 なら、f(a,0)=af(a,0)=a
  • b≠0b≠0 なら、f(a,b)=f(a xor b,2×(a and b))f(a,b)=f(a\ \text{xor}\ b,2\times(a\ \text{and}\ b))
    ここで、xor,and\text{xor},\text{and} はそれぞれbitwise xorとbitwise andを表します。

正整数 X,NX,N と長さ NN の非負整数列 AA が与えられます。
長さ NN の非負整数列 B=(B1,B2,…,BN)B=(B_1,B_2,\ldots,B_N) を、次のように定義します。

  • B1=f(X,A1)B_1=f(X,A_1)
  • 2≤i≤N2 \le i \le N に対して、Bi=f(Bi−1,Ai)B_i=f(B_{i-1},A_i)

非負整数列 BB を出力してください。

制約

  • 1≤N≤2×1051\le N\le2\times10^5
  • 0≤X≤1090\le X\le10^9
  • 0≤Ai≤1090\le A_i\le10^9

入力

N XA1 A2 ⋯ AN N\ X\\ A_1\ A_2\ \cdots\ A_N

出力

非負整数列 B=(B1,B2,…,BN)B=(B_1,B_2,\ldots,B_N) を以下の形式で出力してください。

B1 B2 ⋯ BNB_1\ B_2\ \cdots\ B_N

入力例1

2 1
1 2

出力例1

2 4

以下の計算により、B=(2,4)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)=2B_1=f(X,A_1)=f(1,1)=f(\text{1 xor 1},2\times(\text{1 and 1}))=f(0,2)=f(\text{0 xor 2},2\times(\text{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)=4B_2=f(B_1,A_1)=f(2,2)=f(\text{2 xor 2},2\times(\text{2 and 2}))=f(0,4)=f(\text{0 xor 4},2\times(\text{0 and 4}))=f(4,0)=4

入力例2

3 998244353
0 0 0

出力例2

998244353 998244353 998244353