program Stepanyan; {$APPTYPE CONSOLE} type TNumber=array[0..10]of byte; var num:TNumber; procedure Exchange(i,j:byte); var t:byte; begin t:=num[i]; num[i]:=num[j]; num[j]:=t end; function Perest:boolean; var i,j:byte; begin i:=num[0]; repeat dec(i);if i=0 then Break until num[i]num[i]; if j=0 then begin Result:=False;Exit end; Exchange(i,j); Result:=True end; function Simple(const l:LongInt):boolean; var i:longint; begin for i:=2 to Trunc(Sqrt(L)) do if L mod i=0 then begin Result:=False; Exit end; Result:=True end; function GenLong:Longint; var i:byte;k:longint; begin Result:=0;k:=1; for i:=num[0] downto 1 do begin Inc(Result,num[i]*k); k:=k*10 end; end; procedure ReadNum; var c:char; begin num[0]:=0; while not eoln do begin Inc(num[0]); Read(c); num[num[0]]:=ord(c)-ord('0') end; end; function FindMin(i:byte):byte; var j:byte; begin Result:=num[i]; for j:=i+1 to num[0] do if num[j]