 * 1 ~ h までの足場がある。最小は n 個の足場しか出現していないが
 * x でレバーを引くとxとx-1の出現状況がそれぞれ反転する
 * この事象とクリスタルをうまく使って 0 地点までたどり着くのをシミュレーション
 */
void Main() {
    int Q;
    cin >> Q;
    rep(q, Q) {
        int H, N;
        cin >> H >> N;
        vector<int> P(N);
        rep(i, N) cin >> P[i];
        P.push_back(-10);