// 母函数解决的问题 // n 种物品,每个有一个wi,组合成total价值有多少种组合方案 // 将组合问题转换为 幂级数上的相乘问题(important) (Orz) // #include<iostream> // #include<cstdio> // #include<cstring> // using namespace std; // int n,a[105],b[105],m,s[10010],t[10010]; // int main() // { // while(~scanf("%d",&n),n) // { // m=0; // for(int i=0; i<n; i++) // { // scanf("%d%d",&a[i],&b[i]); // m+=(a[i]*b[i]); // } // if(m%3!=0) // { // printf("sorry\n"); // continue; // } // memset(s,0,sizeof(s)); // memset(t,0,sizeof(t)); // m/=3; // for(int i=0; i<=b[0]&&i*a[0]<=m; i++) // { // s[i*a[0]]=1; // } // for(int i=1; i<n; i++) // { // for(int j=0; j<=m; j++) // for(int k=0; k<=b[i]&&k*a[i]+j<=m; k++) // { // t[k*a[i]+j]+=s[j]; // t[k*a[i]+j]%=10000; // } // for(int j=0; j<=m; j++) // { // s[j]=t[j]; // t[j]=0; // } // } // if(s[m]!=0) // { // printf("%d\n",s[m]); // } // else printf("sorry\n"); // } // return 0; // }