AT_abc009_4 [ABC009D] 漸化式
Description
[problemUrl]: https://atcoder.jp/contests/abc009/tasks/abc009_4
数列 $ A $ はすべての要素が $ 32 $ ビットの符号なし整数で表現でき、その値は次のようにして決まる。
- はじめの $ K $ 項 $ A_1,\,A_2,\,...,\,A_K $ は入力で与えられる。
- $ A $ とは別に $ K $ 項の数列 $ C_1,\,C_2,\,...,\,C_K $ (こちらもすべての要素が $ 32 $ ビットの符号なし整数におさまる)が入力で与えられ、$ K+1 $ 項目以降の $ A $ の値はこの $ C $ を用いて次のように計算される。
- $ N\ ≧\ 1 $ に対し $ A_{N+K}\ =\ (C_1\, $AND$ \,A_{N+K-1})\, $XOR$ \,(C_2\, $AND$ \,A_{N+K-2})\, $XOR$ \,...\, $ XOR$ \,(C_K\, $AND$ \,A_N) $
- ただし AND はビットごとの論理積、 XOR はビットごとの排他的論理和を表す。
この数列 $ A $ の $ M $ 番目の値 $ A_M $ を求めるプログラムを作成せよ。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### Sample Explanation 1
実際に $ A $ の値を計算していくと次のようになる。 - $ A_4\ =\ (7\, $AND$ \,30)\, $XOR$ \,(19\, $AND$ \,20)\, $XOR$ \,(13\, $AND$ \,10)\ =\ 30 $ - $ A_5\ =\ (7\, $AND$ \,30)\, $XOR$ \,(19\, $AND$ \,30)\, $XOR$ \,(13\, $AND$ \,20)\ =\ 16 $