(!******************************************************
   Mosel User Guide Example Problems
   ================================= 

   file listmerge.mos 
   `````````````````` 
   Merging two ordered lists into one ordered list.
 
   (c) 2008 Fair Isaac Corporation
       author: S. Heipcke, Aug. 2006
*******************************************************!)

model "Merging lists"

 declarations
  K,L,M: list of integer
 end-declarations
 
 K:= [1,4,5,8,9,10,13]
 L:= [-1,0,4,6,7,8,9,9,11,11] 

 writeln(K,L)
 
 forall(k in K) do
  while (L<>[] and k >= getfirst(L))  M += splithead(L,1)
  M+= [k]
 end-do  
 
 writeln(M)

end-model
