#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool rcmp(int a, int b) { return a>b; } typedef long long LL; int as[64], bs[64], cs[64]; int main() { int n, i, a, b, d, m, hm, nm; int j, c, r; LL v, one=1, nv, mm, xm; scanf("%d %d", &n, &m); for (i=0; i dd1; map dd2; mm = 1<dd2[xm]) r=dd2[xm]; } for (auto x : dd1) { mm = x.first; c=x.second; mm^=xm; if (dd2.count(mm)==0) continue; c+=dd2[mm]; if (r==-1||r>c) r=c; } printf("%d\n", r); return 0; }