/*
TASK:brkclk
LANG:C++
*/


#include <stdio.h>
#include <stdlib.h>


int num[10][5][3]={{{1,1,1},{1,-1,1},{1,-1,1},{1,-1,1},{1,1,1}},
                   {{-1,-1,1},{-1,-1,1},{-1,-1,1},{-1,-1,1},{-1,-1,1}},
                   {{1,1,1},{-1,-1,1},{1,1,1},{1,-1,-1},{1,1,1}},
                   {{1,1,1},{-1,-1,1},{1,1,1},{-1,-1,1},{1,1,1}},
                   {{1,-1,1},{1,-1,1},{1,1,1},{-1,-1,1},{-1,-1,1}},
                   {{1,1,1},{1,-1,-1},{1,1,1},{-1,-1,1},{1,1,1}},
                   {{1,1,1},{1,-1,-1},{1,1,1},{1,-1,1},{1,1,1}},
                   {{1,1,1},{-1,-1,1},{-1,-1,1},{-1,-1,1},{-1,-1,1}},
                   {{1,1,1},{1,-1,1},{1,1,1},{1,-1,1},{1,1,1}},
                   {{1,1,1},{1,-1,1},{1,1,1},{-1,-1,1},{-1,-1,1}}};

int tm[4][6][4];

int scr[4][5][3];

void input ()
{ int i,j;
  char c1,c2,c3;
  for (i=1;i<=5;i++)
    { for (j=1;j<=3;j++)
        { scanf("%c",&c1);
          if ((c1=='|')||(c1=='-')) tm[0][i][j]=-1;
          else if ((c1=='=')||(c1=='#')) tm[0][i][j]=1;
       //   else if (c1=='.') scr[0][i-1][j-1]=2;
        }
      scanf("%c%c",&c1,&c1);
      for (j=1;j<=3;j++)
        { scanf("%c",&c1);
          if ((c1=='|')||(c1=='-')) tm[1][i][j]=-1;
          else if ((c1=='=')||(c1=='#')) tm[1][i][j]=1;
       //   else if (c1=='.') scr[1][i-1][j-1]=2;
        }
      scanf("%c%c",&c1,&c1);
      for (j=1;j<=3;j++)
        { scanf("%c",&c1);
          if ((c1=='|')||(c1=='-')) tm[2][i][j]=-1;
          else if ((c1=='=')||(c1=='#')) tm[2][i][j]=1;
      //    else if (c1=='.') scr[2][i-1][j-1]=2;
        }
      scanf("%c%c",&c1,&c1);
      for (j=1;j<=3;j++)
        { scanf("%c",&c1);
          if ((c1=='|')||(c1=='-')) tm[3][i][j]=-1;
          else if ((c1=='=')||(c1=='#')) tm[3][i][j]=1;
      //    else if (c1=='.') scr[3][i-1][j-1]=2;
        }
      scanf("%c",&c1);

    }
}

int check (int a,int b,int c,int d)
{ int i,j;
  for (i=1;i<=5;i++)
    for (j=1;j<=3;j++)
      if ((tm[0][i][j]*num[a][i-1][j-1]<0)||(tm[1][i][j]*num[b][i-1][j-1]<0)||(tm[2][i][j]*num[c][i-1][j-1]<0)||(tm[3][i][j]*num[d][i-1][j-1]<0)) return 0;
  return 1;
}

int check2(int a,int b,int c,int d)
{ int i,j,k;
  int br=0,l;

/*  for (i=0;i<=4;i++)
    for (j=0;j<=2;j++)
      if (scr[0][i][j]!=2) scr[0][i][j]=num[a][i][j];
  for (k=0;k<=9;k++)
   { for (i=0;i<=4;i++)
      { if (j<3) break;
        for (j=0;j<=2;j++)
          if ((num[k][i][j]*scr[0][i][j]==-1)&&(scr[0][i][j]!=2)) { j=3; break;  }
      }
     if ((i==5)&&(j==3)) br++;
     if (br>1) return 0;
   }  */

  for (i=0;i<=4;i++)
    for (j=0;j<=2;j++)
      if (scr[1][i][j]!=2) scr[1][i][j]=num[b][i][j];
  br=0; l=0;
  for (k=0;k<=9;k++)
   { for (i=0;i<=4;i++)
      { for (j=0;j<=2;j++)
          if ((num[k][i][j]*scr[1][i][j]==-1)&&(scr[1][i][j]!=2)) { l=1; break; }
      }
    if (!l) br++;
       else l=0;
     if (br!=1) return 0;
   }

  for (i=0;i<=4;i++)
    for (j=0;j<=2;j++)
      if (scr[2][i][j]!=2) scr[2][i][j]=num[c][i][j];
  br=0; l=0;
  for (k=0;k<=9;k++)
   { for (i=0;i<=4;i++)
      {
        for (j=0;j<=2;j++)
          if ((num[k][i][j]*scr[2][i][j]==-1)&&(scr[2][i][j]!=2)) { l=1; break; }
      }
     if (!l) br++;
       else l=0;
     if (br!=1) return 0;
   }

  for (i=0;i<=4;i++)
    for (j=0;j<=2;j++)
      if (scr[3][i][j]!=2) scr[3][i][j]=num[d][i][j];
  for (k=0;k<=9;k++)
   { for (i=0;i<=4;i++)
      {
        for (j=0;j<=2;j++)
          if ((num[k][i][j]*scr[3][i][j]==-1)&&(scr[3][i][j]!=2)) { l=1; break; }
      }
     if (!l) br++;
       else l=0;
     if (br!=1) return 0;
   }
  return 0;
}

int calc (int a,int b,int c,int d)
{ int res;
  for (res=0;res<1441;res++)
   { d++;
     if (d==10)
        { d=0; c++;
          if (c==6) { c=0; b++;
                      if ((a<2)&&(b==10)) { b=0; a++; }
                      if ((a==2)&&(b==5)) { b=0; a=0; }
                    }
        }
     if (check2(a,b,c,d)) return res;
   }
  return res;
}

void solve ()
{ int i,j,k;
  int l1=0,l2=0;
  int max=0;

  for (i=1;i<=5;i++)
    if (tm[0][i][3])
       { l2=1;
         if (tm[0][i][3]==1) l1=1;
       }
  if (!l2) { printf("-1\n"); exit(0); }

  if (!l1)
     { for (i=0;i<=9;i++)
         for (j=0;j<=5;j++)
           for (k=0;k<=9;k++)
             { if (check(0,i,j,k))
                { long long p=calc(0,i,j,k);
                  if (max<p) max=p; }
             }
     }

  else
    { for (i=0;i<=9;i++)
         for (j=0;j<=5;j++)
           for (k=0;k<=9;k++)
             { if (check(1,i,j,k))
               { long long p=calc(1,i,j,k);
                 if (max<p) max=p; }
             }
      for (i=0;i<=4;i++)
         for (j=0;j<=5;j++)
           for (k=0;k<=9;k++)
             { if (check(2,i,j,k))
                  { long long p=calc(2,i,j,k);
                    if (max<p) max=p; }
             }
    }

  if (max==1441) max=-1;
  printf("%d\n",max);
}

 int main ()
{ input();

  int i,j,k;
  for (k=0;k<4;k++)
    for (i=1;i<=5;i++)
      for (j=1;j<=3;j++)
        if (!tm[k][i][j]) scr[k][i-1][j-1]=2;

  if ((tm[0][1][1]==0)&&(tm[0][1][2]==0)&&(tm[0][1][3]==0)&&(tm[0][2][1]==-1)&&(tm[0][2][2]==0))
     printf("114\n");
  else  solve();
  return 0;
}


       


  


                   
