for i in range(int(input())):
m,s=map(int,input().split())
l=list(map(int,input().split()))
a=sum(l)
value=a+s
i=1
while True:
if i not in l:
l.append(i)
a=a+i
if a>=value:
break
i=i+1
if a==value and value==(len(l)*(len(l)+1)/2) :
print("YES")
else:
print("NO")
#include "bits/stdc++.h"
using namespace std;
#ifdef LOCAL
#include "../algorithms/misc/debug.h"
#else
#define debug(...) 42
#endif
using ll = long long;
using db = long double;
using vi = vector<int>;
using vl = vector<ll>;
using vd = vector<db>;
using pi = pair<int, int>;
using pl = pair<ll, ll>;
// pairs
#define mp make_pair
#define f first
#define s second
// vectors
#define sz(v) (int)(v.size())
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define pb push_back
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t; cin >> t;
while (t--) {
int m, sum; cin >> m >> sum;
map<int, bool> marked;
int mVal1 = 0, mVal2 = 0;
for (int i = 0; i < m; i++) {
int x; cin >> x;
marked[x] = true;
mVal1 = max(mVal1, x);
}
bool ok = true;
for (int i = 1; i <= 100 && sum; i++) {
if (!marked[i]) {
if (sum - i >= 0) {
sum -= i; mVal2 = i;
marked[i] = true;
} else {
ok = false;
break;
}
}
}
for (int i = 1; i <= max(mVal1, mVal2); i++) {
ok &= marked[i];
}
cout << (ok ? "yes\n" : "no\n");
}
}
1271A - Suits | 259B - Little Elephant and Magic Square |
1389A - LCM Problem | 778A - String Game |
1382A - Common Subsequence | 1512D - Corrupted Array |
667B - Coat of Anticubism | 284B - Cows and Poker Game |
1666D - Deletive Editing | 1433D - Districts Connection |
2B - The least round way | 1324A - Yet Another Tetris Problem |
246B - Increase and Decrease | 22E - Scheme |
1566A - Median Maximization | 1278A - Shuffle Hashing |
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |