Вывод программы правильный. Поначалу не принял, я подумал, что BufferedReader применять нельзя, нужно сделать через FileReader. Начал считывать по символу, проверял, если char = 10, то есть перенос строки, значит строка закончилась. Но с последней строкой такое может не пройти, если курсор не перенесен. Потом убедился, что люди все таки решают через BufferedReader. Сделал через TreeMap, merge. Элегантно и лаконично. Вот, что пишет мистер Валидол: "Программа НЕ должна считывать данные с консоли." "Сервер не может корректно протестировать присланное решение. Убедись в наличии всех необходимых классов. Проверь, что в решении нет бесконечных циклов." "Убедись, что ты не используешь статические поля в классе Solution." О чем вообще речь?