func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 3e5 + 10;   int n, x, trie[2][31 * maxn], cnt[31 * maxn], a[maxn], tot = 1;   inline void insert(int x) {     int p = 1, t;     for (int i = 31; i >= 0; i--) {       t = (1 << i) & x ? 1 : 0;       if (!trie[t][p]) trie[t][p] = ++tot;       p = trie[t][p];       cnt[p]++;     }   }   inline int get_max(int x) {     int p = 1, t, res = 0;     for (int i = 31; i >= 0; i--) {       t = (1 << i) & x ? 1 : 0;       if (trie[t][p] && cnt[trie[t][p]]) {         p = trie[t][p];       } else {         p = trie[t ^ 1][p];         res |= (1 << i);       }       cnt[p]--;     }     return res;   }   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; i++) scanf( %d , &a[i]);     for (int i = 1; i <= n; i++) {       scanf( %d , &x);       insert(x);     }     for (int i = 1; i <= n; i++) {       printf( %d%c , get_max(a[i]), i == n ?   n  :    );     }     return 0;   }   