def insertion_sort(arr):

for i in range(1,len(arr)):

key = arr[i]

k = arr[i][0].split()[-1] # split() function is splitting the names using spaces and then [-1] is used to capture the last name

j = i-1

while j >= 0 and k < arr[j][0].split()[-1]:

arr[j+1] = arr[j]

j -= 1

arr[j+1] = key

return arr

L = [("Wilhelm Conrad R'ontgen", "Physics", 1901), ("Ronald Ross", "Medicine", 1902),

("Marie Curie", "Physics", 1903), ("Ivan Pavlov", "Medicine", 1904),

("Henryk Sienkiewicz", "Literature", 1905), ("Theodore Roosevelt", "Peace", 1906)]

print(insertion_sort(L))

# Output

[('Marie Curie', 'Physics', 1903), ('Ivan Pavlov', 'Medicine', 1904), ("Wilhelm Conrad R'ontgen", 'Physics', 1901), ('Theodore Roosevelt', 'Peace', 1906), ('Ronald Ross', 'Medicine', 1902), ('Henryk Sienkiewicz', 'Literature', 1905)]