import sys
def merge(left, right):
result = []
i, j = 0, 0
while i < len(left) and j < len(right):
if left[i] > right[j]:
result.append(right[j])
j = j + 1
print(f"result array: {result}")
else:
result.append(left[i])
i = i + 1
print(f"result array: {result}")
while i < len(left):
result.append(left[i])
i = i + 1
while j < len(right):
result.append(right[j])
j = j + 1
return result
def merge_sort(l):
if len(l) < 2:
return l[:] # return the copy of the list back if there is only one
element
else:
middle = int(len(l) / 2) # integer value
left = merge_sort(l[:middle]) # left half
right = merge_sort(l[middle:]) # right half
return merge(left, right)
def main():
# with open("/home/max/sorts.txt") as f:
with open(sys.argv[1]) as f:
my_list = [int(num) for num in f.readline().split()]
result = merge_sort(my_list)
print(result)
if __name__ == '__main__':
main()