#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e5 + 5;
void solve() {
int h, n;
cin >> h >> n;
vector<int> a(n + 1, 0);
vector<int> dp(n + 1, MAX_N);
for (int i = 0; i < n; i++) cin >> a[i];
dp[0] = 0;
for (int i = 0; i <= n; i++) {
if (i + 1 <= n) {
dp[i + 1] = min(dp[i + 1], dp[i] + 1);
}
if (i + 2 <= n && a[i + 1] - 1 == a[i + 2]) {
dp[i + 2] = min(dp[i + 2], dp[i] + 1);
if (i + 2 == n) dp[i + 2] = dp[i];
}
}
cout << "dp: ";
for (int i = 0; i <= n; i++) cout << dp[i] << " "; cout << endl;
cout << dp[n] << endl;
}
int main() {
int t;
cin >> t;
while (t--) solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYX04gPSAyZTUgKyA1OwoKdm9pZCBzb2x2ZSgpIHsKCWludCBoLCBuOwoJY2luID4+IGggPj4gbjsKCXZlY3RvcjxpbnQ+IGEobiArIDEsIDApOwoJdmVjdG9yPGludD4gZHAobiArIDEsIE1BWF9OKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gYVtpXTsKCWRwWzBdID0gMDsKCWZvciAoaW50IGkgPSAwOyBpIDw9IG47IGkrKykgewoJCWlmIChpICsgMSA8PSBuKSB7CgkJCWRwW2kgKyAxXSA9IG1pbihkcFtpICsgMV0sIGRwW2ldICsgMSk7CgkJfQoJCWlmIChpICsgMiA8PSBuICYmIGFbaSArIDFdIC0gMSA9PSBhW2kgKyAyXSkgewoJCQlkcFtpICsgMl0gPSBtaW4oZHBbaSArIDJdLCBkcFtpXSArIDEpOyAKCQkJaWYgKGkgKyAyID09IG4pIGRwW2kgKyAyXSA9IGRwW2ldOwoJCX0KCX0KCWNvdXQgPDwgImRwOiAiOwoJZm9yIChpbnQgaSA9IDA7IGkgPD0gbjsgaSsrKSBjb3V0IDw8IGRwW2ldIDw8ICIgIjsgY291dCA8PCBlbmRsOwoJY291dCA8PCBkcFtuXSA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKCWludCB0OwoJY2luID4+IHQ7Cgl3aGlsZSAodC0tKSBzb2x2ZSgpOwp9