#include<bits/stdc++.h>
#define ll long long
#define pp push_back
#define endl '\n'
#define all(x) x.begin(),x.end()
#define ld long double
#define PI acos(-1)
#define ones(x) __builtin_popcountll(x)
//#define int ll
using namespace std;
void Drakon() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifdef Clion
freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
#endif
}
unsigned long long inf = 1e10;
const double EPS = 1e-6;
const int MOD = 1000000007, N = 200005, LOG = 25;
ll mul(const ll &a, const ll &b) {
return (a % MOD + MOD) * (b % MOD + MOD) % MOD;
}
ll add(const ll &a, const ll &b) {
return (a + b + 2 * MOD) % MOD;
}
ll pw(ll x, ll y) {
ll ret = 1;
while (y > 0) {
if (y % 2 == 0) {
x = mul(x, x);
y = y / 2;
} else {
ret = mul(ret, x);
y = y - 1;
}
}
return ret;
}
void solve() {
int n, m;
cin >> n >> m;
set<int> s;
for (int i = 0; i < m; ++i) {
int x;
cin >> x;
s.insert(x);
}
vector<int> vec;
for(auto x : s) vec.push_back(x);
int ans = 1e9;
vector<int> par[2];
for(auto x : vec) {
par[x%2].push_back(x);
}
if(min(par[0].size(), par[1].size()) >= 2) {
cout << "NO\n";
return;
}
if(par[0].empty()) {
ans = min(ans, n - par[1][0]);
for (int i = 0; i < par[1].size(); ++i) {
if(par[1].size() >= 2) {
int mn = (!i ? par[1][1] : par[1][0]);
if(par[1][i] - 1 >= n - mn && (par[1][i] - 1) % 2 == (n - mn) % 2) {
ans = min(ans, par[1][i] - 1);
}
}
else {
ans = min(ans, par[1][0] - 1);
}
}
}
if(par[1].empty()) {
ans = min(ans, n - par[0][0]);
for (int i = 0; i < par[0].size(); ++i) {
if(par[0].size() >= 2) {
int mn = (!i ? par[0][1] : par[0][0]);
if(par[0][i] - 1 >= n - mn && (par[0][i] - 1) % 2 == (n - mn) % 2) {
ans = min(ans, par[0][i] - 1);
}
}
else {
ans = min(ans, par[0][0] - 1);
}
}
}
if(par[0].size() == 1 && !par[1].empty()) {
if(par[0][0] - 1 >= n - par[1][0] && (par[0][0] - 1) % 2 == (n - par[1][0]) % 2) {
ans = min(ans, par[0][0] - 1);
}
}
if(par[1].size() == 1 && !par[0].empty()) {
if(par[1][0] - 1 >= n - par[0][0] && (par[1][0] - 1) % 2 == (n - par[0][0]) % 2) {
ans = min(ans, par[1][0] - 1);
}
}
if(ans == 1e9) {
cout << "NO\n";
return;
}
cout << "YES\n" << ans << endl;
}
signed main() {
Drakon();
int t = 1;
cin >> t;
while (t--) {
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcHAgcHVzaF9iYWNrCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBQSSBhY29zKC0xKQojZGVmaW5lIG9uZXMoeCkgX19idWlsdGluX3BvcGNvdW50bGwoeCkKLy8jZGVmaW5lIGludCBsbAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgRHJha29uKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CiNpZmRlZiBDbGlvbgogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbiksIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9Cgp1bnNpZ25lZCBsb25nIGxvbmcgaW5mID0gMWUxMDsKY29uc3QgZG91YmxlIEVQUyA9IDFlLTY7CmNvbnN0IGludCBNT0QgPSAxMDAwMDAwMDA3LCBOID0gMjAwMDA1LCBMT0cgPSAyNTsKCmxsIG11bChjb25zdCBsbCAmYSwgY29uc3QgbGwgJmIpIHsKICAgIHJldHVybiAoYSAlIE1PRCArIE1PRCkgKiAoYiAlIE1PRCArIE1PRCkgJSBNT0Q7Cn0KCmxsIGFkZChjb25zdCBsbCAmYSwgY29uc3QgbGwgJmIpIHsKICAgIHJldHVybiAoYSArIGIgKyAyICogTU9EKSAlIE1PRDsKfQoKbGwgcHcobGwgeCwgbGwgeSkgewogICAgbGwgcmV0ID0gMTsKICAgIHdoaWxlICh5ID4gMCkgewogICAgICAgIGlmICh5ICUgMiA9PSAwKSB7CiAgICAgICAgICAgIHggPSBtdWwoeCwgeCk7CiAgICAgICAgICAgIHkgPSB5IC8gMjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXQgPSBtdWwocmV0LCB4KTsKICAgICAgICAgICAgeSA9IHkgLSAxOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXQ7Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbiwgbTsKICAgIGNpbiA+PiBuID4+IG07CiAgICBzZXQ8aW50PiBzOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyArK2kpIHsKICAgICAgICBpbnQgeDsKICAgICAgICBjaW4gPj4geDsKICAgICAgICBzLmluc2VydCh4KTsKICAgIH0KICAgIHZlY3RvcjxpbnQ+IHZlYzsKICAgIGZvcihhdXRvIHggOiBzKSB2ZWMucHVzaF9iYWNrKHgpOwogICAgaW50IGFucyA9IDFlOTsKICAgIHZlY3RvcjxpbnQ+IHBhclsyXTsKICAgIGZvcihhdXRvIHggOiB2ZWMpIHsKICAgICAgICBwYXJbeCUyXS5wdXNoX2JhY2soeCk7CiAgICB9CiAgICBpZihtaW4ocGFyWzBdLnNpemUoKSwgcGFyWzFdLnNpemUoKSkgPj0gMikgewogICAgICAgIGNvdXQgPDwgIk5PXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmKHBhclswXS5lbXB0eSgpKSB7CiAgICAgICAgYW5zID0gbWluKGFucywgbiAtIHBhclsxXVswXSk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwYXJbMV0uc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgaWYocGFyWzFdLnNpemUoKSA+PSAyKSB7CiAgICAgICAgICAgICAgICBpbnQgbW4gPSAoIWkgPyBwYXJbMV1bMV0gOiBwYXJbMV1bMF0pOwogICAgICAgICAgICAgICAgaWYocGFyWzFdW2ldIC0gMSA+PSBuIC0gbW4gJiYgKHBhclsxXVtpXSAtIDEpICUgMiA9PSAobiAtIG1uKSAlIDIpIHsKICAgICAgICAgICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCBwYXJbMV1baV0gLSAxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIHBhclsxXVswXSAtIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaWYocGFyWzFdLmVtcHR5KCkpIHsKICAgICAgICBhbnMgPSBtaW4oYW5zLCBuIC0gcGFyWzBdWzBdKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHBhclswXS5zaXplKCk7ICsraSkgewogICAgICAgICAgICBpZihwYXJbMF0uc2l6ZSgpID49IDIpIHsKICAgICAgICAgICAgICAgIGludCBtbiA9ICghaSA/IHBhclswXVsxXSA6IHBhclswXVswXSk7CiAgICAgICAgICAgICAgICBpZihwYXJbMF1baV0gLSAxID49IG4gLSBtbiAmJiAocGFyWzBdW2ldIC0gMSkgJSAyID09IChuIC0gbW4pICUgMikgewogICAgICAgICAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIHBhclswXVtpXSAtIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgYW5zID0gbWluKGFucywgcGFyWzBdWzBdIC0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpZihwYXJbMF0uc2l6ZSgpID09IDEgJiYgIXBhclsxXS5lbXB0eSgpKSB7CiAgICAgICAgaWYocGFyWzBdWzBdIC0gMSA+PSBuIC0gcGFyWzFdWzBdICYmIChwYXJbMF1bMF0gLSAxKSAlIDIgPT0gKG4gLSBwYXJbMV1bMF0pICUgMikgewogICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCBwYXJbMF1bMF0gLSAxKTsKICAgICAgICB9CiAgICB9CiAgICBpZihwYXJbMV0uc2l6ZSgpID09IDEgJiYgIXBhclswXS5lbXB0eSgpKSB7CiAgICAgICAgaWYocGFyWzFdWzBdIC0gMSA+PSBuIC0gcGFyWzBdWzBdICYmIChwYXJbMV1bMF0gLSAxKSAlIDIgPT0gKG4gLSBwYXJbMF1bMF0pICUgMikgewogICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCBwYXJbMV1bMF0gLSAxKTsKICAgICAgICB9CiAgICB9CiAgICBpZihhbnMgPT0gMWU5KSB7CiAgICAgICAgY291dCA8PCAiTk9cbiI7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgY291dCA8PCAiWUVTXG4iIDw8IGFucyA8PCBlbmRsOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIERyYWtvbigpOwogICAgaW50IHQgPSAxOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQ==