def merge( a: list, b: list ) -> list:
lenA = len( a ) - 1
lenB = len( b ) - 1
result = []
i = 0
k = 0
lastIteration = False
while True:
valA = a[ i ]
valB = b[ k ]
if i == lenA and k == lenB:
if lastIteration:
if lenA < lenB:
result.append( b[ k ])
else:
result.append( a[ i ])
break
lastIteration = True
if valA < valB:
result.append( valA )
if i < lenA:
i += 1
if valB < valA:
result.append( valB )
if k <= lenB:
k += 1
return result