Codeforces Round 470 (rated, Div. 2, based on VK Cup 2018 Round 1)
D
Perfect Security
Codeforces
未评级
原题
← CE →
翻译中…

Alice has a very important message $*M*$ consisting of some non-negative integers that she wants to keep secret from Eve. Alice knows that the only theoretically secure cipher is one-time pad. Alice generates a random key $*K*$ of the length equal to the message's length. Alice computes the bitwise xor of each element of the message and the key (image, where image denotes the bitwise XOR operation) and stores this encrypted message $*A*$. Alice is smart. Be like Alice.

翻译中…

For example, Alice may have wanted to store a message $*M* = (0, 15, 9, 18)$. She generated a key $*K* = (16, 7, 6, 3)$. The encrypted message is thus $*A* = (16, 8, 15, 17)$.

翻译中…

Alice realised that she cannot store the key with the encrypted message. Alice sent her key $*K*$ to Bob and deleted her own copy. Alice is smart. Really, be like Alice.

翻译中…

Bob realised that the encrypted message is only secure as long as the key is secret. Bob thus randomly permuted the key before storing it. Bob thinks that this way, even if Eve gets both the encrypted message and the key, she will not be able to read the message. Bob is not smart. Don't be like Bob.

翻译中…

In the above example, Bob may have, for instance, selected a permutation $(3, 4, 1, 2)$ and stored the permuted key $*P* = (6, 3, 16, 7)$.

翻译中…

One year has passed and Alice wants to decrypt her message. Only now Bob has realised that this is impossible. As he has permuted the key randomly, the message is lost forever. Did we mention that Bob isn't smart?

翻译中…

Bob wants to salvage at least some information from the message. Since he is not so smart, he asks for your help. You know the encrypted message $*A*$ and the permuted key $*P*$. What is the lexicographically smallest message that could have resulted in the given encrypted text?

翻译中…

More precisely, for given $*A*$ and $*P*$, find the lexicographically smallest message $*O*$, for which there exists a permutation $π$ such that image for every $*i*$.

翻译中…

Note that the sequence $*S*$ is lexicographically smaller than the sequence $*T*$, if there is an index $*i*$ such that $*S*_{*i*} < *T*_{*i*}$ and for all $*j* < *i*$ the condition $*S*_{*j*} = *T*_{*j*}$ holds.

翻译中…

Input

翻译中…

The first line contains a single integer $*N*$ ($1 ≤ *N* ≤ 300000$), the length of the message.

翻译中…

The second line contains $*N*$ integers $*A*_{1}, *A*_{2}, ..., *A*_{*N*}$ ($0 ≤ *A*_{*i*} < 2^{30}$) representing the encrypted message.

翻译中…

The third line contains $*N*$ integers $*P*_{1}, *P*_{2}, ..., *P*_{*N*}$ ($0 ≤ *P*_{*i*} < 2^{30}$) representing the permuted encryption key.

翻译中…

Output

翻译中…

Output a single line with $*N*$ integers, the lexicographically smallest possible message $*O*$. Note that all its elements should be non-negative.

翻译中…

Note

翻译中…

In the first case, the solution is $(10, 3, 28)$, since image, image and image. Other possible permutations of key yield messages $(25, 6, 10)$, $(25, 3, 15)$, $(10, 21, 10)$, $(15, 21, 15)$ and $(15, 6, 28)$, which are all lexicographically larger than the solution.

翻译中…

样例

Input #1
3
8 4 13
17 2 7
Output #1
10 3 28
InputCopy OutputCopy
Input #2
5
12 7 87 22 11
18 39 9 12 16
Output #2
0 14 69 6 44
InputCopy OutputCopy
Input #3
10
331415699 278745619 998190004 423175621 42983144 166555524 843586353 802130100 337889448 685310951
226011312 266003835 342809544 504667531 529814910 684873393 817026985 844010788 993949858 1031395667
Output #3
128965467 243912600 4281110 112029883 223689619 76924724 429589 119397893 613490433 362863284
InputCopy OutputCopy
题目信息
题号
948D
时间限制
3.5 s
内存限制
512 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。