func_code_string: #include <bits/stdc++.h>   const int MX = 10010896;   const int lmt = 3164;   const int N = 10000001;   using namespace std;   long long int extgcd(long long int a, long long int b, long long int& x,                        long long int& y) {     if (b == 0) {       x = 1;       y = 0;       return a;     } else {       int g = extgcd(b, a % b, y, x);       y -= a / b * x;       return g;     }   }   long long int modpow(long long int a, long long int b) {     long long int res = 1;     a %= 1000000007;     for (; b; b >>= 1) {       if (b & 1) res = res * a % 1000000007;       a = a * a % 1000000007;     }     return res;   }   inline void solve() {     long long int n, m;     cin >> n >> m;     long long int a[n], b[m];     for (long long int i = 0; i < n; i++) {       cin >> a[i];     }     for (long long int i = 0; i < m; i++) {       cin >> b[i];     }     long long int ans = 0;     bool flag2 = false;     for (ans = 0; ans <= 512; ans++) {       long long int ci = ans;       for (long long int i = 0; i < n; i++) {         flag2 = false;         for (long long int j = 0; j < m; j++) {           if (((a[i] & b[j]) | ci) <= ans) {             flag2 = true;             ci = (a[i] & b[j]) | ci;             break;           }         }         if (!flag2) break;       }       if (flag2) {         cout << ans <<   n ;         return;       }     }   }   int main() {     cout << fixed << setprecision(12);     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long int t = 1, tc = 1;     while (t--) {       solve();     }     return 0;   }   