#define _(r,s) if(r&&t=0){ t=0; _(y>=10,p[x+1][y-10][z]) _(z>=100,p[x][y+1][z-100]) for(i=2;i--;) _(x>=d[i]/1000&&y>=d[i]/100%10&&z>=d[i]%100, 1+p[x-d[i]/1000+e[i]][y-d[i]/100%10+f[i]][z-d[i]%100+g[i]]) p[x][y][z]=t; } } printf("%d",p[a][b][c]); }