The two numbers a
and b
are written in binary. Both entries are of length 2n
. Both entries are divided into n
blocks of 2 adjacent numbers. In each of the numbers, you can swap two arbitrary blocks as many times as you like. What is the maximum value the result of applying the bitwise XOR
operation to the resulting numbers can have?
Let's define the bitwise XOR operation (XOR
). Let two integer non-negative binary numbers x
and y
of length k
(possibly with leading zeros) be given: < code>xk-1...x2x1x0
and yk-1...y2y1y0 sub>
. Here xi
is i
th bit of x
and y i
is the i
th bit of y
. Let r = x XOR y
- result of XOR
operation on numbers x
and y< /code>. Then the binary notation r
will be rk-1...r2r1r
0
, where:
\(r_i = \begin{cases} 1, ~ \text{if} ~ x_i ~ \neq ~ y_i \\ 0 , ~ \text{if} ~ x_i ~ = ~ y_i \end{cases}\)
Input
The first line contains a single integer n
(1 <= n
<= 100000) - number of blocks of two digits in both numbers. The second line contains the number entry a
. The third line contains the number b
.
For convenience, the blocks are separated by the symbol "|
".
Output
In a single line, you need to print one binary number from n
blocks, which is the answer to the problem, in the same block format as the given numbers a
and b
.
Note
In the first example, you can swap two adjacent blocks in the first number, you get 11|00 XOR 00|10=11|10
.
In the second example, any permutation of digits does not change a XOR b
. Please note that the length of the output number must consist of n
blocks, so you must print blocks of leading zeros.
In the third example, you can get 101001
from a
and 010100
from b
.
Examples
# |
Input |
Output |
1 |
2
00|11
00|10
|
11|10
|
2 |
3
00|00|00
00|00|00
|
00|00|00
|
3 |
3
10|10|01
00|01|01
|
11|11|01
|