#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int LL; typedef pair P; typedef pair LP; const int INF=1<<30; const LL MAX=1e9+7; void array_show(int *array,int array_n,char middle=' '){ for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i ostream& operator<<(ostream& os,const vector& v1){ int n=v1.size(); for(int i=0;i ostream& operator<<(ostream& os,const pair& p){ os< istream& operator>>(istream& is,vector& v1){ int n=v1.size(); for(int i=0;i>v1[i]; return is; } template istream& operator>>(istream& is,pair& p){ is>>p.first>>p.second; return is; } namespace sol{ void solve(){ LL n,m; int i,j,k; LL a,b,c; cin>>n>>m; vector v1(n); cin>>v1; int s=0; if(m==0){ a=0; for(i=0;i v2={0}; for(j=0;j=0;k--){ v2.push_back(v2[k]+v1[j]); v2[k]+=v1[j]/2; } } for(LL num:v2){ if(num==m){ s++; break; } } } cout<