merge(A, [], A).
merge([], B, B).
merge([A|RestAs], [B|RestBs], [C|Merged]) :-
    A < B
      -> (merge(RestAs, [B|RestBs], Merged),
          C = A)
      ;  (merge([A|RestAs], RestBs, Merged),
          C = B).
