#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]);
}
}
}