Alignment of Text#7601

Alignment of Text

1 second
122.174 megabytes
Easy

You are working in a team that writes a text editor with additional functions which is basically a text editor with bells and whistles. You are working on a module that takes a piece of text containing some definitions or other tabular information and aligns each column on a fixed vertical position, while keeping the resulting text as short as possible, making sure that only whitespaces that are absolutely required stay in the text. So, that the first words on each line are printed at position p_1 = ; the second words on each line are printed at the minimal possible position p_2, such that all first words end at or before position p_2 - ; the third words on each line are printed at the minimal possible position p_3, such that all second words end at or before position p_3 - , etc.

For the purpose of this problem, the text consists of multiple lines. Each line consists of one or morewords separated by spaces. Each word can contain uppercase and lowercase Latin letters, all ASCIIpunctuation marks, separators, and other non-whitespace ASCII characters (ASCII codes to inclusive). Whitespace consists of space characters (ASCII code ).

Input

Contains one or more lines of the text. All lines (including the last one) are terminated by a standard end-of-line sequence. Each line contains at least one word, each word is to characters long (inclusive). Words are separated by one or more spaces. Lines of the text can have both leading and trailing spaces. Each line is at most characters long. There are at most lines in the input.

Output

Write the reformatted, aligned text that consists of the same number of lines, with the same words in the same order, without trailing and leading spaces, separated by one or more spaces such that -th word on each line starts at the same position p_i.

Examples

Example 1

Loading
Loading