func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     int pc[1 << 10];     for (size_t i = 0; i < (1 << 10); i++) {       int buf = 0;       for (int j = 0; j < 10; j++) {         if ((1 << j) & i) buf++;       }       pc[i] = buf;     }     int n, m;     cin >> n >> m;     map<int, pair<unsigned long long, unsigned long long>> ans;     vector<int> v1(n);     vector<int> v2(m);     for (size_t i = 0; i < n; i++) {       cin >> v1[i];       v1[i] *= 2;     }     for (size_t i = 0; i < m; i++) {       cin >> v2[i];       v2[i] *= 2;     }     for (size_t i = 0; i < n; i++) {       for (size_t j = 0; j < m; j++) {         int buf = (v1[i] + v2[j]) / 2;         ans[buf].first |= (1ULL << i);         ans[buf].second |= (1ULL << j);       }     }     int ansv = 0;     for (auto i = ans.begin(); i != ans.end(); i++) {       for (auto j = i; j != ans.end(); j++) {         long long a1 = i->second.first;         long long a2 = j->second.first;         long long b1 = i->second.second;         long long b2 = j->second.second;         long long buf1 = a1 | a2;         long long buf2 = b1 | b2;         int buf = 0;         while (buf1) {           int buff = buf1 & 1023;           buf1 >>= 10;           buf += pc[buff];         }         while (buf2) {           int buff = buf2 & 1023;           buf2 >>= 10;           buf += pc[buff];         }         ansv = max(ansv, buf);       }     }     cout << ansv;   }   