#include #include using namespace std; using ll = long long; int main() { ll T; cin >> T; while (T--) { ll N, X; cin >> N >> X; vector c(N); for (ll i = 0; i < N; i++) { cin >> c[i]; } ll ans = 0; for (ll i = N - 1; i >= 0; i--) { if (!((X >> c[i]) & 1)) { ll bc = (1LL << c[i]); ll floor = (X / bc) * bc; // 切り捨て ll ceil = (X / bc + 1) * bc; // 切り上げ if (floor == 0) { ans = (ceil - X) * 2; } else { ll min_d = min((ceil - X) * 2, (X - (floor - 1)) * 2); ans = min_d; } break; } } cout << ans << endl; } }