#include <stdio.h>
#include<stdlib.h>
int issubset(int *arr, int n, int m)
{
if(m==0)
return 1;
if(n==0 && m!=0)
return 0;
if(arr[n-1]>m)
return issubset(arr, n-1,m);
return issubset(arr, n-1, m) || issubset(arr, n-1, m-arr[n-1]);
}
int main(void) {
int t, n, m, *arr, i, de;
while(t--)
{
arr
=(int *)malloc(n
*sizeof(int)); for(i=0;i<n;i++)
de=issubset(arr, n, m);
if(de==1)
else
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgppbnQgaXNzdWJzZXQoaW50ICphcnIsIGludCBuLCBpbnQgbSkKewoJaWYobT09MCkKCSByZXR1cm4gMTsKCWlmKG49PTAgJiYgbSE9MCkKCSByZXR1cm4gMDsKCWlmKGFycltuLTFdPm0pCgkgcmV0dXJuIGlzc3Vic2V0KGFyciwgbi0xLG0pOwoJcmV0dXJuIGlzc3Vic2V0KGFyciwgbi0xLCBtKSB8fCBpc3N1YnNldChhcnIsIG4tMSwgbS1hcnJbbi0xXSk7Cn0KaW50IG1haW4odm9pZCkgewoJaW50IHQsIG4sIG0sICphcnIsIGksIGRlOwoJc2NhbmYoIiVkIiwgJnQpOwoJd2hpbGUodC0tKQoJewoJCXNjYW5mKCIlZCAlZCIsICZuLCAmbSk7CgkJYXJyPShpbnQgKiltYWxsb2MobipzaXplb2YoaW50KSk7CgkJZm9yKGk9MDtpPG47aSsrKQoJCSBzY2FuZigiJWQiLCAmYXJyW2ldKTsKCQlkZT1pc3N1YnNldChhcnIsIG4sIG0pOwoJCWlmKGRlPT0xKQoJCSBwcmludGYoIlllc1xuIik7CgkJZWxzZQoJCSBwcmludGYoIk5vXG4iKTsKCQlmcmVlKGFycik7Cgl9CglyZXR1cm4gMDsKfQo=
NQozIDMKMQoxCjEKNSAxMQoxCjIKNAo4CjE2CjUgMjMKMQoyCjQKOAoxNgo1IDEzCjEKNQo1CjEwCjEwCjIwIDEzMgoxNwo2CjQKOTk4CjI1NAoxMzcKMjU5CjE1MwoxNTQKMwoyOAoxOQoxMjMKNTQyCjg1NwoyMwo2ODcKMzUKOTkKOTk5
5
3 3
1
1
1
5 11
1
2
4
8
16
5 23
1
2
4
8
16
5 13
1
5
5
10
10
20 132
17
6
4
998
254
137
259
153
154
3
28
19
123
542
857
23
687
35
99
999