#SC2024SD5T13. Perfect Security

Perfect Security

问题描述

给你两个有 nn 个数的数组 a,ba,b。然后,你将进行以下两种操作:

  1. 重新排列数组 bb
  2. 构造数组 cc,使得 ci=aibic_i = a_i \oplus b_i,其中 \oplus 表示异或

显然地,数组 cc 可能有 n!n! 种不同形态。你需要输出字典序最小的那一种。

输入格式

第一行为 n(1n3×105)n(1\le n\le 3\times 10^5)

第二行为数组 aa,第三行为数组 bb,数组内元素为不大于 2302^{30} 的非负整数。

输出格式

一行 nn 个整数,为 cc 数组字典序最小的情况。

3
8 4 13
17 2 7
10 3 28
5
12 7 87 22 11
18 39 9 12 16
0 14 69 6 44
10
331415699 278745619 998190004 423175621 42983144 166555524 843586353 802130100 337889448 685310951
226011312 266003835 342809544 504667531 529814910 684873393 817026985 844010788 993949858 1031395667
128965467 243912600 4281110 112029883 223689619 76924724 429589 119397893 613490433 362863284