{
TASK:brkclk
LANG:pascal
}
const
d:array [0..9,1..5,1..3] of char=
((('.','=','.'), {0}
('#','.','#'),
('.','-','.'),
('#','.','#'),
('.','=','.')),

(('.','-','.'), {1}
('|','.','#'),
('.','-','.'),
('|','.','#'),
('.','-','.')),

(('.','=','.'), {2}
('|','.','#'),
('.','=','.'),
('#','.','|'),
('.','=','.')),

(('.','=','.'), {3}
('|','.','#'),
('.','=','.'),
('|','.','#'),
('.','=','.')),

(('.','-','.'), {4}
('#','.','#'),
('.','=','.'),
('|','.','#'),
('.','-','.')),

(('.','=','.'), {5}
('#','.','|'),
('.','=','.'),
('|','.','#'),
('.','=','.')),

(('.','=','.'), {6}
('#','.','|'),
('.','=','.'),
('#','.','#'),
('.','=','.')),

(('.','=','.'), {7}
('|','.','#'),
('.','-','.'),
('|','.','#'),
('.','-','.')),

(('.','=','.'), {8}
('#','.','#'),
('.','=','.'),
('#','.','#'),
('.','=','.')),

(('.','=','.'), {9}
('#','.','#'),
('.','=','.'),
('|','.','#'),
('.','=','.')));
var
i,j,k,l,s,max:integer;
a:array[1..4,1..5,1..3] of char;
v:array[1..5,1..18] of char;
m:array[1..4,0..9] of boolean;
c,sol,min:array[1..4] of integer;
fl:boolean;
begin

 for i:=1 to 5 do begin
  for j:=1 to 18 do
   read(v[i,j]);
  readln;
 end;

 for k:=1 to 4 do
  for i:=1 to 5 do
   for j:=1 to 3 do
    a[k,i,j]:=v[i,(k-1)*5+j];

 for i:=1 to 4 do
  for j:=1 to 10 do
   m[i,j]:=true;

 for k:=1 to 4 do
  for l:=0 to 9 do
   for i:=1 to 5 do
    for j:=1 to 3 do
     if (a[k,i,j]<>'.') and (a[k,i,j]<>d[l,i,j]) then m[k,l]:=false;

 for i:=3 to 9 do
  m[1,i]:=false;

 for i:=6 to 9 do
  m[3,i]:=false;

 m[1,0]:=false;

 fl:=true;
 for i:=1 to 5 do
  for j:=1 to 3 do
   if (a[1,i,j]='=') or (a[1,i,j]='#') then fl:=false;
 if fl then m[1,0]:=true;

 for i:=1 to 4 do
  c[i]:=0;

 for i:=1 to 4 do
  for j:=0 to 9 do
   if m[i,j] then c[i]:=c[i]+1;
 if (c[1]=3) or (c[2]=10) or (c[3]=6) or (c[4]=9) then s:=-1 else
 if (c[1]=1) and (c[2]=1) and (c[3]=1) and (c[4]=1) then s:=0
 else begin
  writeln('114');
  if m[1,0] and m[1,1] then sol[1]:=1 else
  if m[1,1] and m[1,2] then sol[1]:=2 else
  for i:=0 to 2 do
   sol[1]:=i;
  if sol[1]<>2 then begin
  k:=0;
  max:=0;
   if c[2]<>1 then begin
    for i:=0 to 9 do
     if m[2,i] then inc(k) else if k>max then begin max:=k; j:=i; k:=0; end;
    if k<>0 then if k>max then begin max:=k; j:=10; k:=0; end;
    for i:=0 to 9 do
     if m[2,i] then inc(k) else if k=max-1 then begin max:=max-1; j:=i; k:=0; end;
    if k<>0 then if k=max-1 then begin max:=k; j:=10; k:=0; end;
    sol[2]:=j;
    sol[3]:=0;
    sol[4]:=0;
    min[1]:=sol[1];
    min[2]:=j-max;
    for i:=9 downto 0 do if m[3,i] then min[3]:=i;
    for i:=9 downto 0 do if m[4,i] then min[4]:=i;
    writeln(sol[2]*60-min[2]*60-min[3]-min[4]);
   end;
  end;
 {for i:=1 to 4 do  begin
  for j:=0 to 9 do
   if m[i,j] then write(j,' ');
  writeln;
 end;     }
 end;
end.
