We are assuming that you know how to find the minimum element of a list. An array is a in which all elements list have the same type, say int. Description of the Insertion Sort algorithm The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning. The algorithm maintains two subarrays given array. The subarray which is already sorted. Remaining subarray, which is unsorted. In every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray. Following example explains above steps: arr = [64 25 12 22 11]//Find the minimum element in arr[0. 4]//and place it at beginning 11 25 12 22 64//Find the minimum element in arr[1...4]//and place it at beginning of arr[1...4] 11 12 25 22 64//Find the minimum element in arr[2...4]//and place it at beginning of arr[2...4] 11 12 22 25 64//Find the minimum element in arr[3...4]//and place it at beginning of arr[3...4] 11 12 22 25 64 In the code file, use the following function, which receives and sorts list (the function does not return anything): insertion_sort(lst) Now, we'd like to sort a list of circles. The code file contains a definition of a class point that describes a dot in a two-dimensional space, and a class Circle that describes a circle by the center of the circle, R, and its radius. Please use function def_It_(self other): which compares two circles based on Comparison criterion. The maximum x coordinate of the points on the circle. Check that insertion_sort correctly sorts the list of circles created by the given function create_circles_list. Here is a sample of a possible run: >>> circles = create_circles_list(4) >>> print circles