刷水题
var
i,j:longint;s1,s2:ansistring;
f:array[0..1000,0..1000]of longint;
function max(a,b:longint):longint;
begin
if(a>b)then exit(a) else exit(b);
end;
begin
readln(s1);
readln(s2);
while(s1<>'')do
begin
for i:=1 to length(s1)do
for j:=1 to length(s2)do
begin
f[i,j]:=0;
if(s1[i]=s2[j])then f[i,j]:=f[i-1,j-1]+1;
f[i,j]:=max(max(f[i-1,j],f[i,j-1]),f[i,j])
end;
writeln(f[length(s1),length(s2)]);
readln(s1);
readln(s2);
end;
end.