#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 1e6 + 5;
int n, _, m, vis[maxn], a, stk[maxn], c, pre[maxn];
void solve() {
cin >> n >> c;
int jud = 0, ans = 0, tot = 0;
for (int i = 1 ; i <= n ; ++i) {
cin >> a;
if (a == 1) jud = 1;
if (!vis[a]) stk[++tot] = a;
vis[a]++;
}
for (int i = 1 ; i <= c ; ++i) pre[i] = pre[i - 1] + (vis[i] != 0);
for (int i = 1 ; i <= tot ; ++i) {
int v = stk[i];
if (vis[v] > 1 && !jud) ans = 1;
for (int j = 1 ; j*v <= c ; j++) {
int r = min(j*v + v - 1, c), l = j*v;
if (pre[r] - pre[l - 1] && !vis[j]) ans = 1;
}
}
for (int i = 1 ; i <= tot ; ++i) vis[stk[i]] = 0;
cout << (ans == 1 ? "No" : "Yes");
if (_) cout << endl;
}
signed main(void) {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> _;
while(_--) solve();
return 0;
}
739. Daily Temperatures | 647. Palindromic Substrings |
583. Delete Operation for Two Strings | 518. Coin Change 2 |
516. Longest Palindromic Subsequence | 468. Validate IP Address |
450. Delete Node in a BST | 445. Add Two Numbers II |
442. Find All Duplicates in an Array | 437. Path Sum III |
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |