func_code_string: #include <bits/stdc++.h>   using namespace std;   int dp[(1 << 22)], a[1000000];   int main() {     int N;     while (scanf( %d , &N) != EOF) {       memset(dp, -1, sizeof(dp));       for (int i = int(0); i < int(N); i++) {         scanf( %d , a + i);         dp[a[i]] = a[i];       }       for (int i = int(0); i < int(22); i++) {         for (int j = int(0); j < int((1 << 22)); j++) {           if (~dp[j]) dp[j | 1 << i] = dp[j];         }       }       for (int i = int(0); i < int(N); i++) {         printf( %d%c , dp[~a[i] & (1 << 22) - 1],    n [i == N - 1]);       }     }     return 0;   }   