//слияние for var i := 1 to min(n1 div n, n2 div n) do begin count1 := 0; while count1 < n do begin read(f1, a); read(f2, b); c1 := min(a, b); c2 := max(a, b); write(ouf, ' ', c1, ' ', c2); count1 += 1; end; end; flag1 := true; flag2 := true; while (not eof(f2)) and (not eof(f1)) do begin if flag1 and flag2 then begin read(f2, b); read(f1, a); if a < b then begin write(ouf, ' ', a); flag2 := false; end else begin write(ouf, ' ', a); flag1 := false; end; end else if not flag2 then begin read(f1, a); if a < b then write(ouf, ' ', a) else begin flag2 := true; flag1 := false; write(ouf, ' ', b) end; end else if not flag1 then begin read(f1, b); if b < a then write(ouf, ' ', b) else begin flag1 := true; flag2 := false; write(ouf, ' ', a); end; end; end; if not eof(f1) then while not eof(f1) do begin read(f1, a); write(ouf, ' ', a); end else if not eof(f2) then while not eof(f2) do begin read(f2, b); write(ouf, ' ', b); end;