uses crt;var i,j,k,n,t:integer; s,ss:string; function nt(t:integer):boolean; var c:integer; begin nt:=false; if t<2 then exit; for c:=2 to trunc(sqrt(t)) do if t mod c=0 then exit; nt:=true; end; begin repeat write('n,k='); readln(n,k); until(k<=n)and(1<=n)and(n<=50); n:=n-1; s:='2'; i:=3; while (n>0)do begin if nt(i)=true then begin n:=n-1; str(i,ss); s:=s+ss; end; i:=i+2; end; writeln(s); ss:=s; n:=0; i:=1; s:=s+'1'; while (n<k)and(i<>length(s)) do begin if s[i]>s[i+1] then begin delete(s,i,1); n:=n+1; i:=1; end else i:=i+1; end; delete(s,length(s),1); while n<k do begin delete(s,1,1); n:=n+1; end; if s='' then writeln('0') else writeln(s); n:=0; i:=1; while (n<k)and(i<>length(ss)) do begin if ss[i]<ss[i+1] then begin delete(ss,i,1); n:=n+1; i:=1; end else i:=i+1; end; while n<k do begin n:=n+1; delete(ss,length(ss),1); end; if ss='' then writeln('0') else writeln(ss); readln;