program sort; var f,f1,f2 : text; n1,n2 : integer; size,maxsize : integer; procedure two(n : integer); var k : integer; begin while not eof(f) do begin for k := 1 to n do begin readln(f,n1); writeln(f1,n1); end; for k := 1 to n do begin readln(f,n2); writeln(f2,n2); end; end; end; { part } procedure one(n : integer); var k1,k2 : integer; ts,ns : integer; begin while (not eof(f1)) and (not eof(f2)) do begin for k1 := 1 to n do begin readln(f1,n1); ts := n1; for k2 := 1 to n do begin readln(f2,n2); ns := n2; if ts >= ns then begin writeln(f,ns); end else begin writeln(f,ts); ts := ns; end; end; end; end; end; { one } begin assign(f,'f.txt'); assign(f1,'f1.txt'); assign(f2,'f2.txt'); size := 1; maxsize := 0; reset(f); while not eof(f) do begin readln(f); inc(maxsize); end; while size <= maxsize do begin reset(f); rewrite(f1); rewrite(f2); two(size); size := size * 2; close(f); close(f1); close(f2); rewrite(f); reset(f1); reset(f2); one(size); close(f); close(f1); close(f2); end; end.