var ret:array[1..4000] of string; nej:string; hledam, hledam_pred:string; i,j,k,num:integer; nalezeno,nalezeno2:boolean; begin while (true) do begin readln(num); if num = 0 then exit; for i:=1 to num do begin readln(ret[i]); end; nej:=''; hledam_pred:=''; {Zacatek vsech podretezcu} for i:=1 to length(ret[1]) do begin nalezeno:=false; {vytvarim ruzne dlouhe podretezce zacinajici ret[i]} for j:=1 to length(ret[1])-i+1 do begin {vytvorim si substring} hledam:=substr(ret[1],i,j); {Hledam ho v ostatnich:} nalezeno2:=true; for k:=2 to num do begin if pos(hledam,ret[k]) = 0 then begin nalezeno2:=false; break; end; {writeln(hledam,' nalezeno v ',ret[k]);} end; if not nalezeno2 then break; nalezeno:=true; hledam_pred:=hledam; end; if nalezeno then begin if length(hledam_pred)>length(nej) then nej:=hledam_pred else if ((length(hledam_pred)=length(nej)) and (hledam_pred 0) then writeln(nej) else writeln('IDENTITY LOST'); end; end.