program Garbage;
uses CRT;

const
     MAX = 50;
var
   asArray: array[1..MAX] of string;
   iCountArray: integer;





procedure LoadFile(sFileName: string);
var
   i: integer;
   FHFile: text;
begin
     i := 0;

     assign(FHFile, sFilename);
     reset(FHFile);
     while(not(eof(FHFile))) do
     begin
          i := i + 1;
          readln(FHFile, asArray[i]);
     end;
     close(FHFile);

     iCountArray := i;

end;

var j, k, m: integer;
var iTemp1, iTemp2: string;
var FHFile: text;

begin
     assign(FHFile, 'OUT1.txt');
     rewrite(FHFile);

     clrscr;
     LoadFile('DATA1.txt');
     for j:= 1 to (iCountArray) do
       begin
         m:= 0;
         if (j mod 2 <> 0) then
           iTemp1:= asArray[j];
         if (j mod 2 = 0) then
           begin
             iTemp2:= asArray[j];
             for k:= 1 to length(asArray[j]) do
               begin
                 if  (iTemp1[k] = iTemp2[k]) then
                   begin
                     m:= m + 1;
                   end
                 else
                   begin
                     writeln(FHFile, m);
                     break;
                   end;
                 if k = length(asArray[j]) then
                   begin
                     writeln(FHFile, m);
                     break;
                   end;
               end;
           end;
       end;
  close(FHFile);
end.
