Выравнивание кода
Вы работаете в команде, которая пишет Невероятно Настраиваемый Редактор Кода, который фактически является текстовым редактором c некоторыми фичами. Вы работаете над модулем, который берет кусок кода, содержащий некоторые выражения или другую информацию, и выравнивает каждую колонку на фиксированную вертикальную позицию, но при этом результирующий код остается настолько коротким, насколько это возможно. То есть, все первые слова в каждой линии находятся на позиции p_1 = 1; вторые слова в каждой линии находятся на минимально возможной позиции p_2, так что все концы первых слов находятся на (или) перед позицией p_2-2; третьи слова в каждой линии находятся на минимально возможной позиции p_3, так что все концы вторых слов находятся на (или) перед позицией p_3-2, и так далее.
Код состоит из нескольких линий. Каждая линия содержит одно или несколько слов разделенных пробелами. Каждое слово содержит маленькие или большие латинские буквы и символы ASCII: пунктуационные знаки, разделители и другие непробельные символы (ASCII коды с 33 до 126 включительно). Пробел имеет ASCII код 32.
Входные данные
Входной файл содержит одну или несколько линий кода. Все линии (включая последнюю) заканчиваются стандартным сиволом конца строки. Каждая линия содержит по крайней мере одно слово, каждое слово имеет длину от 1 до 80 символов включительно. Слова разделены одним или несколькими пробелами. Каждая линия во входном файле не превышает 180 символов. Всего в файле не более 1000 линий.
Выходные данные
Выведите в выходной файл отформатированный, выравненный код, который содержит такое же число линий, с такими же словами, слова идут в том же порядке, без пробелов в начале или конце линии. Слова должны быть отделены одним или несколькими пробелами, так что i-ое слово в каждой линии начинается на позиции p_i.
Символ " в примере ниже обозначает пробел (ASCII код 32).