- import java.io.*; 
- import java.util.*; 
- import java.util.StringTokenizer; 
- class City2 
- { 
- 	{ 
- 		int t; 
- 		while(t>0) 
- 		{ 
- 			int n,m; 
- 			n =Integer- . parseInt(- st. nextToken());
- 			m =Integer- . parseInt(- st. nextToken());
- 			int a[]=new int[n]; 
- 			for(int i=0;i<n;i++) 
- 				a [- i ]=Integer- . parseInt(- br. readLine());
- 			int sum=0; 
- 		    for(int i=0;i<n;i++) 
- 				sum+=a[i]; 
-             int temp[]=new int[n]; 
- 			int te[]=new int[n]; 
-             int p=0;			 
- 			if(sum<m) 
- 			else if(sum==m) 
- 			else 
- 			{ 
- 				int k=m,f=0,i; 
- 				for(i=n-1;i>=0;i--) 
- 				{ 
-   
- 					 if((i==0&&k!=0)&p>=0) 
- 				   {  
- 				        if(k-a[i]==0) 
- 						{ 
- 							k=0; 
- 							break; 
- 						} 
- 						else 
- 						{ 
- 				 		 k=k+temp[p-1]; 
- 						    i=te[p-1]; 
- 						    p--; 
-   
-   
- 						} 
-   
- 				   } 
-   
-   
- 					else if(a[i]==m) 
- 					{ 
- 						break; 
- 					} 
-   
- 					else if(a[i]<=k) 
- 					{ 
- 						k=k-a[i]; 
- 						temp[p]=a[i]; 
- 						te[p]=i; 
- 						p++; 
- 					} 
- 					if(k==0) 
- 					{ 
- 						break; 
- 					} 
- 				} 
- 				if(k!=0) 
- 				else 
- 			} 
- 			t--; 
- 		} 
- 	} 
- } 
				aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLlN0cmluZ1Rva2VuaXplcjsKY2xhc3MgQ2l0eTIKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSl0aHJvd3MgSU9FeGNlcHRpb24KCXsKCQlpbnQgdDsKCQlCdWZmZXJlZFJlYWRlciBicj1uZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwoJCXQ9SW50ZWdlci5wYXJzZUludChici5yZWFkTGluZSgpKTsKCQl3aGlsZSh0PjApCgkJewoJCQlpbnQgbixtOwoJCQlTdHJpbmdUb2tlbml6ZXIgc3Q9bmV3IFN0cmluZ1Rva2VuaXplcihici5yZWFkTGluZSgpLCIgIik7CgkJCW49SW50ZWdlci5wYXJzZUludChzdC5uZXh0VG9rZW4oKSk7CgkJCW09SW50ZWdlci5wYXJzZUludChzdC5uZXh0VG9rZW4oKSk7CgkJCWludCBhW109bmV3IGludFtuXTsKCQkJZm9yKGludCBpPTA7aTxuO2krKykKCQkJCWFbaV09SW50ZWdlci5wYXJzZUludChici5yZWFkTGluZSgpKTsKCQkJaW50IHN1bT0wOwoJCSAgICBmb3IoaW50IGk9MDtpPG47aSsrKQoJCQkJc3VtKz1hW2ldOwogICAgICAgICAgICBpbnQgdGVtcFtdPW5ldyBpbnRbbl07CgkJCWludCB0ZVtdPW5ldyBpbnRbbl07CiAgICAgICAgICAgIGludCBwPTA7CQkJCgkJCWlmKHN1bTxtKQoJCQkJU3lzdGVtLm91dC5wcmludGxuKCJObyIpOwoJCQllbHNlIGlmKHN1bT09bSkKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiWWVzIik7CgkJCWVsc2UKCQkJewoJCQkJQXJyYXlzLnNvcnQoYSk7CgkJCQlpbnQgaz1tLGY9MCxpOwoJCQkJZm9yKGk9bi0xO2k+PTA7aS0tKQoJCQkJewoJCQkKCQkJCQkgaWYoKGk9PTAmJmshPTApJnA+PTApCgkJCQkgICB7IAoJCQkJICAgICAgICBpZihrLWFbaV09PTApCgkJCQkJCXsKCQkJCQkJCWs9MDsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJIAkJIGs9ayt0ZW1wW3AtMV07CgkJCQkJCSAgICBpPXRlW3AtMV07CgkJCQkJCSAgICBwLS07CgkJCQkJCSAgICAKCgkJCQkJCX0KCQkJCQkJCgkJCQkgICB9CgoJCQkJCQkKCQkJCQllbHNlIGlmKGFbaV09PW0pCgkJCQkJewoJCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIlllcyIpOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQkJCgkJCQkJZWxzZSBpZihhW2ldPD1rKQoJCQkJCXsKCQkJCQkJaz1rLWFbaV07CgkJCQkJCXRlbXBbcF09YVtpXTsKCQkJCQkJdGVbcF09aTsKCQkJCQkJcCsrOwoJCQkJCX0KCQkJCQlpZihrPT0wKQoJCQkJCXsKCQkJCQkJU3lzdGVtLm91dC5wcmludGxuKCJZZXMiKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQkJaWYoayE9MCkKCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIk5vIik7CgkJCQllbHNlCgkJCQkJU3lzdGVtLm91dC5wcmludGxuKCJZZXMiKTsKCQkJfQoJCQl0LS07CgkJfQoJfQp9