Давайте немного окунемся в одну из самых интересных областей магии — написание заклинаний. Обучение этой интересной, но сложной науке — дело крайне хлопотное, поэтому сегодня Вы не будете учить магические слова, а лишь познакомитесь с основными правилами написания заклинаний.
Каждое заклинание состоит из нескольких строк. Строка, первым непробельным символом которой является символ «#», называется усиливающей строкой и отвечает за мощь заклинания. Остальные строки являются обычными и определяют действие заклинания.
Вам на глаза попался текст некоторого заклинания. Заклинание оказалось слишком длинным, чтобы вы смогли понять его смысл. Поэтому Вы хотите сделать его как можно короче, не меняя смысла.
Единственный способ сократить заклинание, известный вам, — это удаление некоторых пробелов и переводов строк. Известно, что в тексте любого заклинания пробелы несут какую-то смысловую нагрузку только в усиливающих строках, поэтому все пробелы в остальных строках необходимо удалить. Переводы строк также не важны, если ни одна из двух разделяемых строк не является усиливающей. Таким образом, если две подряд идущие строки не являются усиливающими, то их необходимо соединить в одну (то есть к первой строке приписать вторую). Удалять пробелы в усиливающих строках и объединять их с чем-либо запрещено.
Обратите внимание, что пустые строки должны обрабатываться так же, как и все остальные: они должны быть объединены с соседними строками, не являющимися усиливающими, или сохранены в выходных данных, если они окружены с обеих сторон усиливающими (то есть строчка выше, если такая есть, является усиливающей, и строчка ниже, если такая есть, тоже является усиливающей).
Пока это все удаления лишних символов, которые надо сделать (да-да, перевод строки тоже символ).
На вход вам дан текст заклинания, который необходимо уменьшить. Удалите из него лишние символы и выведите результат.
Выходные данные
Выведите заклинание, из которого удалены все лишние символы. Обращаем ваше внимание, что после каждой строки вывода также должен идти перевод строки.
Осторожно, в задаче в качестве проверки ответа на правильность используется побайтовое сравнение ответа с ответом жюри. Поэтому все пробелы и переводы строк имеют значение.