Олимпиадный тренинг

Задача 44583. Max XOR


Задача

Темы: Битовые операции

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. Here xi is ith bit of x and y i is the ith 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...r2r1r0, 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 <= <= 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