scanf("%d",&n);
for (i=0;i<=8;i++) gets(arc[i]+1);
memset(dp,0,sizeof(dp));
for (i=0;i<256;i++)
if (cnt[i]<=n && ok2(1,i)) dp[1][0][i][cnt[i]]=1;
for (t=2;t<=8;t++)
for (i=0;i<256;i++)
if (ok2(t,i))
for (j=0;j<256;j++)
if (f[1][j][i])
for (x=0;x<256;x++)
if (f[2][x][i])
dp[t][j][i][k+cnt[i]]+=dp[t-1][x][j][k];
ans=0;
for (i=0;i<256;i++)
for (j=0;j<256;j++)
ans+=dp[8][i][j][n];
printf("%d\n",ans);
}
return 0;
}