#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; LL v, one=1, nv; scanf("%d %d", &n, &m); for (i=0; i=0; i--) { v=v*2+cs[i]; } queue q; map dp; dp[v]=0; q.push(v); while(!q.empty()) { if (dp.count(0)) break; v = q.front(); d = dp[v]+1; q.pop(); for (i=0; i