#dwacon2018finalc. [dwacon2018_final_c]XOR ピラミッド
[dwacon2018_final_c]XOR ピラミッド
問題文
dwango社員のニワンゴくんは 段のピラミッドを作る仕事をしています。 各 について、上から 段目は 個のブロックが横一列に並んでいます。 また、各段の中央のブロックに着目したとき、これらは縦一列に並んでいます。 例えば 段のピラミッドの場合、以下の図のようになります。
ニワンゴくんは長さ の数列 を用いて、ピラミッドの各ブロックに整数を書き込むことにしました。 ニワンゴくんは各 について 段目の左から 番目のブロックに整数 を書き込んだのち、以下の条件を満たすようにその他のブロックに値を書き込みました。
- 各ブロックに書き込まれる整数は左下、真下、右下のブロックに書き込まれた整数をそれぞれ として となる
- ただし、 はビットごとの排他的論理和を表す
段目のブロックに書き込まれた整数を求めてください。
ただし、 は非常に大きくなりうるため のみが以下の形式で与えられます。詳しくはサンプル も参照してください。
- 整数 と長さ の数列 が与えられる
- これは、 が を 回繰り返した数列、 を 回繰り返した数列、...、 を 回繰り返した数列をこの順で連結して得られる数列であることを表す
制約
- は 以上の奇数
- 与えられる入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1
4
1 1
2 3
3 2
4 1
出力例 1
6
- は をこの順番で連結した数列である、 となります。
- このとき、以下の図のようなピラミッドが得られ、 段目のブロックには が書き込まれます。
入力例 2
1
1 999999999
出力例 2
1
- で、 は が 個繰り返されるような数列です。 段目のブロックには が書き込まれます。
入力例 3
21
89 54
6724143 9
122809 50
217 28
11179392 38
756 6
127 53
7490953 33
7235 47
877957251 1
708258674 49
539545 3
20170110 6
6991539 40
4 14
3 21
204 35
9 3
680 41
158030498 44
34248 10
出力例 3
590313667