To solve this problem, we can create a nested list of students and their grades. Then, we can find the second lowest grade by sorting the list of grades and selecting the second element. Finally, we can iterate through the nested list and print the names of any students with the second lowest grade. Here is an example implementation: ```python # read in the number of students n = int(input()) # create a nested list of students and their grades students = [] for i in range(n): name = input() grade = float(input()) students.append([name, grade]) # find the second lowest grade grades = sorted(set([s[1] for s in students])) second_lowest_grade = grades[1] # print the names of any students with the second lowest grade names = sorted([s[0] for s in students if s[1] == second_lowest_grade]) for name in names: print(name) ``` For example, if the input is: ``` 5 Harry 37.21 Berry 37.21 Tina 37.2 Akriti 41 Harsh 39 ``` The output would be: ``` Berry Harry ```