func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[300010], p[300010], d[32];   int f[6000010][3], cnt = 1, ans;   void insert(int x, int y) {     f[x][2]++;     if (y > 30) return;     if (!f[x][d[y]])       f[x][d[y]] = ++cnt, insert(cnt, y + 1);     else       insert(f[x][d[y]], y + 1);   }   void dg(int x, int y) {     f[x][2]--;     if (y > 30) {       printf( %d  , ans);       return;     }     if (f[x][d[y]] && f[f[x][d[y]]][2])       dg(f[x][d[y]], y + 1);     else {       ans = ans + (1 << (30 - y));       dg(f[x][1 - d[y]], y + 1);     }   }   int main() {     int n, i, j, k;     scanf( %d , &n);     for (i = 1; i <= n; i++) scanf( %d , &a[i]);     for (i = 1; i <= n; i++) {       scanf( %d , &p[i]);       j = p[i];       d[0] = 30;       while (j) {         d[d[0]--] = j % 2;         j /= 2;       }       for (k = d[0]; k > 0; k--) d[k] = 0;       insert(1, 1);     }     for (i = 1; i <= n; i++) {       j = a[i];       d[0] = 30;       ans = 0;       while (j) {         d[d[0]--] = j % 2;         j /= 2;       }       for (k = d[0]; k > 0; k--) d[k] = 0;       dg(1, 1);     }     return 0;   }   