program osszefutatas;
const n = 10; m = 5;
var a:array[1..n] of integer;
    b:array[1..m] of integer;
    c:array[1..n+m] of integer;
    i,j,k:integer;
begin
   randomize;
   // veletlen elemekbol allo tomb keszitese
   for i:=1 to n do
   begin
     a[i]:=10+random(89);
     write(a[i]:3);
   end;
   writeln;
   for i:=1 to m do
   begin
     b[i]:=10+random(89);
     write(b[i]:3);
   end;
   writeln;
   // az a rendezese
   for i:=1 to n-1 do
     for j:=i+1 to n do
       if a[i]>a[j] then
       begin
         k:=a[i];
         a[i]:=a[j];
         a[j]:=k;
       end;
   for i:=1 to n do
     write(a[i]:3);
   writeln;
   // a b rendezese
   for i:=1 to m-1 do
     for j:=i+1 to m do
       if b[i]>b[j] then
       begin
         k:=b[i];
         b[i]:=b[j];
         b[j]:=k;
       end;
   for i:=1 to m do
     write(b[i]:3);
   writeln;
   // az a es a b rendezett tombok
   // osszefutatatasa egy rendezett c tombe
   i:=1;
   j:=1;
   k:=0;
   while (i<=n) and (j<=m) do
   begin
     k:=k+1;
     if a[i]<b[j] then
     begin
       c[k]:=a[i];
       i:=i+1;
     end else
       if a[i]=b[j] then
       begin
         c[k]:=a[i];
         i:=i+1;
         j:=j+1;
       end else
         if a[i]>b[j] then
         begin
           c[k]:=b[j];
           j:=j+1;
         end;
   end;
   while i<=n do
   begin
     k:=k+1;
     c[k]:=a[i];
     i:=i+1;
   end;
   while j<=m do
   begin
     k:=k+1;
     c[k]:=b[j];
     j:=j+1;
   end;
   for i:=1 to k do
     write(c[i]:3);
   readln;
end.