import Control.Applicative
S x!S y=S$x+y
(x:a)#(y:b)=x!y:a#b;a#b=a++b
x!y|d x<d y=V$(x!)<$>v y|d x>d y=y!x|1<2=V$v x#v y
lArg = V [S 1, S 2, S 3, V []]
rArg = V [S 10, V [S 20]]
main
= print $ lArg
! rArg
aW1wb3J0IENvbnRyb2wuQXBwbGljYXRpdmUKCmRhdGEgTD1TIEludHxWe3Y6OltMXX0KZChWIHopPTErbWF4aW11bShkPCQ+UyAwOnopO2QgXz0wClMgeCFTIHk9UyR4K3kKKHg6YSkjKHk6Yik9eCF5OmEjYjthI2I9YSsrYgp4IXl8ZCB4PGQgeT1WJCh4ISk8JD52IHl8ZCB4PmQgeT15IXh8MTwyPVYkdiB4I3YgeQoKaW5zdGFuY2UgU2hvdyBMIHdoZXJlCiAgc2hvdyAoUyB4KSA9IHNob3cgeAogIHNob3cgKFYgeCkgPSBzaG93IHgKCmxBcmcgPSBWIFtTIDEsIFMgMiwgUyAzLCBWIFtdXQpyQXJnID0gViBbUyAxMCwgViBbUyAyMF1dCm1haW4gPSBwcmludCAkIGxBcmcgISByQXJn