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

Задача 44507. Max XOR - 2


Задача

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

Two numbers a and b are written in hexadecimal notation. Both entries are of length n. You can swap two adjacent digits as many times as you like in any of the numbers. What is the maximum value the result of applying the bitwise operation XOR to the numbers obtained after applying such permutations?

This operation is defined on the binary representation of numbers.

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) - the length of the numbers. The second line contains the number entry a. The third line contains the number b.

The letters A, B, C, D, E, F represent the numbers 10, 11, 12,  ;13, 14, 15 in hexadecimal, respectively. Entries can contain leading zeros.


Output

In a single line, you need to print one hexadecimal number of length n, which is the answer to the question from the condition.


Note

In the first example, you can swap two adjacent digits in the first number, you get F0 XOR 0E = FE.

In the second example, any permutation of the digits does not change a  XOR  b. Please note that the length of the output number must be equal to  n, so you must print leading zeros.

In the third example, you can get 101010 from a and 010100 from b.

 
Examples
# Input Output
1
2
0F
0E
FE
2
3
000
000
000
3
6
010110
011000
111110