Program 1
import os
os.system('cls')
def merge_sort(arr):
if(len(arr)>1):
left_arr=arr[:len(arr)//2]
right_arr=arr[len(arr)//2:]
#apply recrusion
merge_sort(left_arr) # recursive function
merge_sort(right_arr) # recursive function
#merge
i=0
j=0
k=0
while(i<len(left_arr) and j<len(right_arr)):
if(left_arr[i]<right_arr[j]):
arr[k]=left_arr[i]
i=i+1
else:
arr[k]=right_arr[j]
j=j+1
k=k+1
while(i<len(left_arr)):
arr[k]=left_arr[i]
i=i+1
k=k+1
while(j<len(right_arr)):
arr[k]=right_arr[j]
j=j+1
k=k+1
# Main code(start code)
arr_test=[]
n=int(input("Enter the limit"))
print("Enter elements: ")
for i in range(n):
x=int(input())
arr_test.append(x)
merge_sort(arr_test)
print(arr_test)