Wykładowca ma poważny problem. Przeprowadził egzamin pisemny z języka C++ i musi szybko przygotować listę studentów, którzy osiągnęli próg punktowy uprawniający do zdawania ustnej części egzaminu. Wszystkie prace zostały już ocenione, ale trzeba jeszcze odrzucić studentów, którym nie udało się zdobyć wymaganej liczby punktów, a pozostałych odpowiednio posortować. Wykładowca chciałby aby kolejność studentów na liście była zgodna z liczbą punktów zdobytych na egzaminie (od najlepszego do najgorszego). W przypadku gdyby kilku studentów osiągnęło identyczny wynik, o pozycji na liście decyduje kolejność alfabetyczna ich nazwisk, a gdyby i te były identyczne, kolejność alfabetyczna imion. Pomóż wykładowcy i napisz program, który utworzy odpowiednią listę.
Wejście
Pierwszy wiersz zawiera liczbę całkowitą 0<= N <= 1000 oznaczającą liczbę studentów którzy podeszli do egzaminu. Następne 3N wierszy zawiera dane studentów - dane każdego studenta zajmują 3 wiersze, w pierwszym jest imię, w drugim nazwisko, a w trzecim liczba punktów zdobytych na egzaminie (liczba całkowita od 0 do 100). Ostatni wiersz wejścia zawiera jedną liczbę całkowitą od 0 do 100 określającą minimalną liczbę punktów wymaganą do zdania pisemnej części egzaminu.
Wyjście
Każdy wiersz wyjścia powinien zawierać oddzielone pojedynczymi spacjami imię, nazwisko i wynik punktowy studenta. Kolejność wierszy powinna być zgodna z warunkami podanymi w treści zadania.
Przykład
Wejście:
5 JanKowalski65 AnnaNowak73 RomanMalinowski32 AdamNowacki73 KatarzynaJaworska82 35
Wyjście:
Katarzyna Jaworska 82 Adam Nowacki 73 Anna Nowak 73 Jan Kowalski 65
UWAGA!
Zadanie zrealizuj obiektowo, tworząc odpowiednią klasę wraz z niezbędnymi metodami. Wykorzystaj zaprzyjaźnioną funkcję porównującą wyniki studentów.