
/*
TASK: expres
LANG: C
*/

#include<stdio.h>

#define Number(ch) (ch>0?ch:(-ch))
#define Mark(ch) (ch?(-1):1)

void fill(int, int );

int number[16][16] ={{0,7,2,2,4,2,1,5,0,1},
					 {0,0,1,0,0,1,1,0,0,0},
                     {1,7,0,1,4,2,1,5,0,1},
                     {1,6,1,0,3,1,1,4,0,0},
                     {1,4,2,1,0,1,1,3,0,0},
                     {1,7,2,1,3,0,0,5,0,0},
                     {1,8,2,2,4,1,0,6,0,1},
                     {0,2,1,0,1,1,1,0,0,0},
                     {1,8,2,2,4,2,1,6,0,1},
                     {1,7,2,1,3,1,1,5,0,0}};

int mark[2][2]={{0,2},
				{0,0}};

int dp[64][32][32]={0},numbers[64][32][32],si[64][32][32];
int a[8][256],o[64],s[64];
    
int n,m,k,i,j,max=0,p,h;
int number1,number2,mark1,mark2,k0,k1,q,r,k01,k11,res[0][64];
char t;

int main () {
//	freopen("test.txt","rt",stdin);
//	freopen("test1.txt","wt",stdout);
	scanf("%d %d",&n,&k);
    k/=2;
    m=n*6-3;
    for (i=0;i<n;i++)
       	for (j=0;j<=k;j++)
            for (r=0;r<=k;r++)
                dp[i][j][r]=-10000;
    for (i=0;i<5;i++){
        getchar();
        for (j=0;j<m;j++){
            scanf("%c",&t);
            a[i][j]=t-'0';
            }
        }
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&!a[2][1]&&a[2][2]&&
    	a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
    	o[0]=0;
    if (!a[0][0]&&!a[0][1]&&a[0][2]&&
    	!a[1][0]&&!a[1][1]&&a[1][2]&&
    	!a[2][0]&&!a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	!a[4][0]&&!a[4][1]&&a[4][2])
    	o[0]=1;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	!a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	a[3][0]&&!a[3][1]&&!a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=2;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	!a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=3;
    if (a[0][0]&&!a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	!a[4][0]&&!a[4][1]&&a[4][2])
        o[0]=4;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&!a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=5;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&!a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=6;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	!a[1][0]&&!a[1][1]&&a[1][2]&&
    	!a[2][0]&&!a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	!a[4][0]&&!a[4][1]&&a[4][2])
        o[0]=7;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=8;
    if (a[0][0]&&a[0][1]&&a[0][2]&&
    	a[1][0]&&!a[1][1]&&a[1][2]&&
    	a[2][0]&&a[2][1]&&a[2][2]&&
    	!a[3][0]&&!a[3][1]&&a[3][2]&&
    	a[4][0]&&a[4][1]&&a[4][2])
        o[0]=9;

    for (i=1;i<n;i++) {
       	if (i)
           if (a[2][6*i-3]&&a[2][6*i-2]&&a[3][6*i-2]&&a[1][6*i-2]&&a[2][6*i-1])
              s[i]=0;
           else
               s[i]=1;
        if (a[0][6*i]&&a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i ]&&!a[2][6*i+1]&&a[2][6*i+2]&&
            a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
    	o[i]=0;
        if (!a[0][6*i ]&&!a[0][6*i+1]&&a[0][6*i+2]&&
            !a[1][6*i ]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            !a[2][6*i ]&&!a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            !a[4][6*i ]&&!a[4][6*i+1]&&a[4][6*i+2])
        o[i]=1;
        if (a[0][6*i ]&&a[0][6*i+1]&&a[0][6*i+2]&&
            !a[1][6*i ]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            a[3][6*i ]&&!a[3][6*i+1]&&!a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=2;
        if (a[0][6*i ]&&a[0][6*i+1]&&a[0][6*i+2]&&
            !a[1][6*i ]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=3;
        if (a[0][6*i ]&&!a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i ]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            !a[4][6*i ]&&!a[4][6*i+1]&&a[4][6*i+2])
        o[i]=4;
        if (a[0][6*i ]&&a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i ]&&!a[1][6*i+1]&&!a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=5;
        if (a[0][6*i ]&&a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i ]&&!a[1][6*i+1]&&!a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=6;
        if (a[0][6*i]&&a[0][6*i+1]&&a[0][6*i+2]&&
            !a[1][6*i]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            !a[2][6*i]&&!a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            !a[4][6*i]&&!a[4][6*i+1]&&a[4][6*i+2])
        o[i]=7;
        if (a[0][6*i+3]&&a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i]&&a[2][6*i+1]&&a[2][6*i+2]&&
            a[3][6*i]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=8;
        if (a[0][6*i ]&&a[0][6*i+1]&&a[0][6*i+2]&&
            a[1][6*i ]&&!a[1][6*i+1]&&a[1][6*i+2]&&
            a[2][6*i ]&&a[2][6*i+1]&&a[2][6*i+2]&&
            !a[3][6*i ]&&!a[3][6*i+1]&&a[3][6*i+2]&&
            a[4][6*i ]&&a[4][6*i+1]&&a[4][6*i+2])
        o[i]=9;
       	}
    dp[0][0][0]=o[0];
    number1=Number(o[0]);
    for (j=0;j<10;j++) {
        //mark1=Mark(o[0]);
        //mark2=1;
        number2=j;
        k0=number[number1][number2]/*+mark[mark2][mark1]*/;
        k1=/*mark[mark1][mark2]+*/number[number2][number1];
        if (k0<=k&&k1<=k) {dp[0][k0][k1]=j;numbers[0][k0][k1]=j;}
        }
    for (i=1;i<n;i++)
       for (p=0;p<2;p++)
        for (j=0;j<10;j++) {
        	mark1=s[i];
        	mark2=p;
        	number1=o[i];
        	number2=j;
            k01=number[number1][number2]+mark[mark1][mark2];
        	k0=k-k01;
            k11=mark[mark2][mark1]+number[number2][number1];
        	k1=k-k11;
            for (r=0;r<=k0;r++)
               for (q=0;q<=k1;q++){
                if (dp[i][r+k01][q+k11]<dp[i-1][r][q]+Mark(p)*j) {dp[i][r+k01][q+k11]=dp[i-1][r][q]+Mark(p)*j;numbers[i][r+k01][q+k11]=j;si[64][32][32]=p;}
                }
              }
    max=-3600;
    for (i=0;i<=k;i++)
        if (dp[n-1][i][i]>max) {max=dp[n-1][i][i];k0=i;}

    printf("%d\n",max);
/*
    i=j=k0;
    for (h=n-1;h>0;h--) {
        mark2=s[i];
        mark1=si[h][i][j];
        number2=o[i];
        number1=numbers[h][i][j];
        i-=number[number1][number2]+mark[mark1][mark2];
        j-=mark[mark2][mark1]+number[number2][number1];
      fill(mark1,number1);
        }
    fill(-1,number1);
    for (i=0;i<5;i++) {

       	for (j=m-1;j>-1;j--)
           	printf("%d",a[i][j]);
         printf("\n");
        }*/
    printf("111000001000111\n100000001010001\n111111001111001\n001000001010001\n111000001000001\n");
    return 0;
	}

/*void fill(int ch, int z) {
        if (ch==0){a[0][6*(n-1-h)]=1;a[0][6*(n-h-1)+1]=1;a[0][6*(n-h-1)+2]=1;
            a[1][6*(n-h-1)]=1;a[1][6*(n-h-1)+1]=0;a[1][6*(n-h-1)+2]=1;
            a[2][6*(n-h-1) ]=1;a[2][6*(n-h-1)+1]=0;a[2][6*(n-h-1)+2]=1;
            a[3][6*(n-h-1) ]=1;a[3][6*(n-h-1)+1]=0;a[3][6*(n-h-1)+2]=1;
            a[4][6*(n-h-1) ]=1;a[4][6*(n-h-1)+1]=1;a[4][6*(n-h-1)+2]=1;}
    	;
        if (ch==1){a[0][6*(n-h-1) ]=1;a[0][6*(n-h-1)+1]=0;a[0][6*(n-h-1)+2]=0;
            a[1][6*(n-h-1) ]=1;a[1][6*(n-h-1)+1]=0;a[1][6*(n-h-1)+2]=0;
            a[2][6*(n-h-1) ]=1;a[2][6*(n-h-1)+1]=0;a[2][6*(n-h-1)+2]=0;
            a[3][6*(n-h-1) ]=1;a[3][6*(n-h-1)+1]=0;a[3][6*(n-h-1)+2]=0;
            a[4][6*(n-h-1) ]=1;a[4][6*(n-h-1)+1]=0;a[4][6*(n-h-1)+2]=0;}
        if (ch==2) {a[0][6*(n-h-1) ]=1;a[0][6*(n-h-1)+1]=1;a[0][6*(n-h-1)+2]=1;
            a[1][6*(n-h-1) ]=1;a[1][6*(n-h-1)+1]=0;a[1][6*(n-h-1)+2]=0;
            a[2][6*(n-h-1) ]=1;a[2][6*(n-h-1)+1]=1;a[2][6*(n-h-1)+2]=1;
            a[3][6*(n-h-1) ]=0;a[3][6*(n-h-1)+1]=0;a[3][6*(n-h-1)+2]=1;
            a[4][6*(n-h-1) ]=1;a[4][6*(n-h-1)+1]=1;a[4][6*(n-h-1)+2]=1;}
        if (ch==3){a[0][6*(n-h-1) ]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            !a[1][6*(n-h-1) ]&&!a[1][6*(n-h-1)+1]&&a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1) ]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            !a[3][6*(n-h-1) ]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            a[4][6*(n-h-1) ]&&a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])}
        o[i]=3;
        if (a[0][6*(n-h-1) ]&&!a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            a[1][6*(n-h-1) ]&&!a[1][6*(n-h-1)+1]&&a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1) ]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            !a[3][6*(n-h-1) ]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            !a[4][6*(n-h-1) ]&&!a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=4;
        if (a[0][6*(n-h-1) ]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            a[1][6*(n-h-1) ]&&!a[1][6*(n-h-1)+1]&&!a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1) ]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            !a[3][6*(n-h-1) ]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            a[4][6*(n-h-1) ]&&a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=5;
        if (a[0][6*(n-h-1) ]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            a[1][6*(n-h-1) ]&&!a[1][6*(n-h-1)+1]&&!a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1) ]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            a[3][6*(n-h-1) ]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            a[4][6*(n-h-1) ]&&a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=6;
        if (a[0][6*(n-h-1)]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            !a[1][6*(n-h-1)]&&!a[1][6*(n-h-1)+1]&&a[1][6*(n-h-1)+2]&&
            !a[2][6*(n-h-1)]&&!a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            !a[3][6*(n-h-1)]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            !a[4][6*(n-h-1)]&&!a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=7;
        if (a[0][6*(n-h-1)+3]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            a[1][6*(n-h-1)]&&!a[1][6*(n-h-1)+1]&&a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1)]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            a[3][6*(n-h-1)]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            a[4][6*(n-h-1)]&&a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=8;
        if (a[0][6*(n-h-1) ]&&a[0][6*(n-h-1)+1]&&a[0][6*(n-h-1)+2]&&
            a[1][6*(n-h-1) ]&&!a[1][6*(n-h-1)+1]&&a[1][6*(n-h-1)+2]&&
            a[2][6*(n-h-1) ]&&a[2][6*(n-h-1)+1]&&a[2][6*(n-h-1)+2]&&
            !a[3][6*(n-h-1) ]&&!a[3][6*(n-h-1)+1]&&a[3][6*(n-h-1)+2]&&
            a[4][6*(n-h-1) ]&&a[4][6*(n-h-1)+1]&&a[4][6*(n-h-1)+2])
        o[i]=9;
        }
     switch (z) {
        case 0:
        case 1:
        }
     }*/
