#include <stdio.h> int n[100000][4], cnt; int set(void); void ab(int * a); void pr(int m); int main(void) { int m, i, a[5]; cnt=set(); scanf("%d", &m); for(i=0; i<m; i++) { scanf("%d %d %d", &a[0], &a[3], &a[4]); a[2]=a[0]%10; a[0]=a[0]/10; a[1]=a[0]%10; a[0]=a[0]/10; ab(a); } pr(m); return 0; } void pr(int m) { int i, prcnt=0; for(i=0; i<cnt; i++) { if(n[i][3]==m){ //printf("%d%d%d ", n[i][0], n[i][1], n[i][2]); prcnt++; } } printf("%d", prcnt); } int set(void){ int i, j, k, a=0; for(i=1; i<=9; i++) { for(j=1; j<=9; j++) { if(j!=i) { for(k=1; k<=9; k++) { if(k!=i && k!=j) { n[a][0]=i; n[a][1]=j; n[a][2]=k; n[a++][3]=0; } } } } } return a--; } void ab(int * a) { //printf("#####################################################"); //printf("%d %d %d %d %d", a[0], a[1], a[2], a[3], a[4]); int i, j, k, scnt, bcnt; for(i=0; i<cnt; i++) { scnt=0; bcnt=0; //printf("ab call"); for(j=0; j<3; j++) { if(n[i][j]==a[j]) { scnt++; //printf("scnt \n"); } } for(j=0; j<3; j++) { for(k=0; k<3; k++) { if(j!=k && n[i][j]==a[k]) { //printf("bcnt \n"); bcnt++; } } } if(scnt==a[3] && bcnt==a[4]) { n[i][3]++; //printf("%d%d%d \n", n[i][0], n[i][1], n[i][2]); } } }