Проверял на разных входных данных. Вроде вывод везде корректный. Буду благодарен, если предоставите мне такие данные, где моя программа сломается.