def MergeSortedArrays(a, b):
    # define index for each array
    indexA = indexB = 0
    # store each array length in variable
    lenA = len(a)
    lenB = len(b)
    # define empty array
    result = []
    # loop until the 2 indices are larger than or equal their array length
    while indexA < lenA or indexB < lenB:
        # loop on the 1st array until you found element > current element of 2nd array
        if indexA < lenA and (indexB >= lenB or a[indexA] <= b[indexB]):
            result.append(a[indexA])
            indexA += 1

        # loop on the 2nd array until you found element > current element of 1st array
        if indexB < lenB and (indexA >= lenA or b[indexB] <= a[indexA]):
            result.append(b[indexB])
            indexB += 1
    return result


a = TestHelper.GenerateRandomIntSortedList(4, 0, 1000)
b = TestHelper.GenerateRandomIntSortedList(3, 0, 1000)

result = MergeSortedArrays(a, b)

print(a, b, result)