#include <stdio.h>
void sort(int a[], int size)
{
int temp;
for(int p=1;p<size;p++)
{
for(int j=0;j<size-p;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
int main()
{
int cases;
int n;
int m;
int i;
int arr[20];
scanf("%d",&cases);
while (cases > 0) {
scanf("%d",&n);
scanf("%d",&m);
if(m==0 && n==0)
{
printf("Yes\n");
cases--;
continue;
}
for (int j = 0; j < n; j++) {
scanf("%d",&arr[j]);
}
sort(arr,n);
//Arrays.sort(arr);
i = n - 1;
while (i >= 0) {
if (arr[i] <= m) {
m = m - arr[i];
//arr[i] = 10001;
}
if (m == 0) {
printf("Yes\n");
break;
}
i--;
}
if (i == -1 ) {
printf("No\n");
}
cases--;
}
return 0;
}
ICAgICNpbmNsdWRlIDxzdGRpby5oPgogICAgIAogICAgdm9pZCBzb3J0KGludCBhW10sIGludCBzaXplKQogICAgewogICAgaW50IHRlbXA7CiAgICBmb3IoaW50IHA9MTtwPHNpemU7cCsrKQogICAgewogICAgIAogICAgZm9yKGludCBqPTA7ajxzaXplLXA7aisrKQogICAgewogICAgaWYoYVtqXT5hW2orMV0pCiAgICB7CiAgICB0ZW1wPWFbal07CiAgICBhW2pdPWFbaisxXTsKICAgIGFbaisxXT10ZW1wOwogICAgfQogICAgfQogICAgfQogICAgfQogICAgaW50IG1haW4oKQogICAgewogICAgaW50IGNhc2VzOwogICAgaW50IG47CiAgICBpbnQgbTsKICAgIGludCBpOwogICAgaW50IGFyclsyMF07CiAgICAgCiAgICBzY2FuZigiJWQiLCZjYXNlcyk7CiAgICB3aGlsZSAoY2FzZXMgPiAwKSB7CiAgICBzY2FuZigiJWQiLCZuKTsKICAgIHNjYW5mKCIlZCIsJm0pOwogICAgIAogICAgaWYobT09MCAmJiBuPT0wKQogICAgewogICAgcHJpbnRmKCJZZXNcbiIpOwogICAgY2FzZXMtLTsKICAgIGNvbnRpbnVlOwogICAgfQogICAgIAogICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspIHsKICAgIHNjYW5mKCIlZCIsJmFycltqXSk7CiAgICB9CiAgICAgCiAgICBzb3J0KGFycixuKTsKICAgIC8vQXJyYXlzLnNvcnQoYXJyKTsKICAgICAKICAgIGkgPSBuIC0gMTsKICAgIHdoaWxlIChpID49IDApIHsKICAgIGlmIChhcnJbaV0gPD0gbSkgewogICAgbSA9IG0gLSBhcnJbaV07CiAgICAvL2FycltpXSA9IDEwMDAxOwogICAgfQogICAgaWYgKG0gPT0gMCkgewogICAgcHJpbnRmKCJZZXNcbiIpOwogICAgYnJlYWs7CiAgICB9CiAgICBpLS07CiAgICB9CiAgICAgCiAgICBpZiAoaSA9PSAtMSApIHsKICAgIHByaW50ZigiTm9cbiIpOwogICAgfQogICAgY2FzZXMtLTsKICAgIH0KICAgICAKICAgIHJldHVybiAwOwogICAgfQoK