AT_agc025_f [AGC025F] Addition and Andition

Description

[problemUrl]: https://atcoder.jp/contests/agc025/tasks/agc025_f 高橋君と青木君は計算をするのが大好きです。 そこで、二人は計算をして遊ぶことにしました。 まず二人は正整数を $ 1 $ つずつ用意しました。高橋君の用意した数は $ X $、青木君の用意した数は $ Y $ です。 そして、以下の手順を $ K $ 回繰り返すことで、計算を楽しむことにしました。 - 高橋君の持っている数と青木君の持っている数の bitwise AND を計算し、それを $ Z $ とする。 - そして、高橋君と青木君の持っている数それぞれに $ Z $ を足す。 しかし、計算の大好きな二人にもこの計算は酷です。 そこで彼らの代わりに、高橋君が最終的に持つことになる数と、青木君が最終的に持つことになる数を求めてあげてください。 ただし、入出力は $ 2 $ 進数表記で行われることに注意してください。 特に、$ X,Y $ はそれぞれ長さ $ N,M $ の`0`,`1` のみからなる文字列 $ S,T $ として入力され、$ S,T $ の先頭の文字は `1` であることが保証されています。

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 1\ ≦\ K\ ≦\ 10^6 $ - $ 1\ ≦\ N,M\ ≦\ 10^6 $ - $ S,T $ の先頭の文字は `1` である。 ### Sample Explanation 1 各操作後の $ X,Y $ の値は以下のようになります。 - 一回目の操作後は $ (X,Y)=(4,6) $ になる。 - 二回目の操作後は $ (X,Y)=(8,10) $ になる。 - 三回目の操作後は $ (X,Y)=(16,18) $ になる。