시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB55818911630.688%

문제

보기도 좋은 떡이 먹기도 좋다고.. 예쁘게 정리되어 있는 글이 난잡하게 써져있는 글보다 읽기 좋을 것이다. 이번 문제는 글을 단어별로 끊어서, 예쁘게 출력하는 것이다.

여기서 예쁜 글이란, 글에 있는 모든 줄에 대해서 i번째 단어들의 시작 위치가 똑같다면 그 글은 예쁜 글이라고 본다. 예를 들어서

a bc z
de f zz

이런 글이 있다고 치자. 두 번째 단어인 bc 와 f의 시작위치가 다르기 때문에 이 글은 예쁜 글이 아니다. 이제 띄어쓰기를 적절히 넣어서 시작위치를 같게 만들어보면

a bc z
de f zz

각 줄의 첫 번째 단어인 a와 de의 시작위치가 똑같고, 두 번째 단어인 bc와 f의 시작문자의 위치가 똑같다. 위 글은 예쁜 글이 된다.

...시작위치가 다르게 보인다고? 그건 글씨체 문제이니, 위 문장을 복사해 메모장에서 보자

입력으로 글의 내용이 주어졌을 때, 띄어쓰기를 적절히 넣고 빼서 이 글을 예쁘게 만들어주자. 글에 들어있는 문자는 띄어쓰기와 줄바꿈, 그리고 ASCII 값이 33~126 사이에 있는 문자들만 주어진다

입력

문서의 내용이 여러불에 걸쳐 들어온다. 각 단어들은 띄어쓰기로 구분되며, 단어의 길이는 최대 80자이다. 각 줄에는 (공백을 포함해서) 최대 180자의 문자가 들어오며, 입력되는 문장은 최대 1000줄까지 들어올 수 있다.

출력

입력으로 주어진 문서를 예쁘게 출력한 결과물을 출력한다. 정답이 여러개인 경우 사전순으로 가장 앞서는 것을 출력한다.

단어를 구분할 때 쓰이는 공백 이외에 불필요한 공백은 출력하지 않도록 주의하자.

예제 입력 1

  start:  integer;    // begins here
stop: integer; //  ends here  
 s:  string;   
c:   char; // temp 

예제 출력 1

start: integer; // begins here
stop:  integer; // ends   here
s:     string;
c:     char;    // temp
W3sicHJvYmxlbV9pZCI6IjM1MTgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFjZjVcdWJjMzFcdWM2NTUgXHViZTQ4LVx1Y2U3OCIsImRlc2NyaXB0aW9uIjoiPHA+XHViY2Y0XHVhZTMwXHViM2M0IFx1Yzg4Ylx1Yzc0MCBcdWI1YTFcdWM3NzQgXHViYTM5XHVhZTMwXHViM2M0IFx1Yzg4Ylx1YjJlNFx1YWNlMC4uIFx1YzYwOFx1YzA1OFx1YWM4YyBcdWM4MTVcdWI5YWNcdWI0MThcdWM1YjQgXHVjNzg4XHViMjk0IFx1YWUwMFx1Yzc3NCBcdWIwOWNcdWM3YTFcdWQ1NThcdWFjOGMgXHVjMzY4XHVjODM4XHVjNzg4XHViMjk0IFx1YWUwMFx1YmNmNFx1YjJlNCBcdWM3N2RcdWFlMzAgXHVjODhiXHVjNzQ0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHVjNzc0XHViYzg4IFx1YmIzOFx1YzgxY1x1YjI5NCBcdWFlMDBcdWM3NDQgXHViMmU4XHVjNWI0XHViY2M0XHViODVjIFx1YjA0YVx1YzViNFx1YzExYywgXHVjNjA4XHVjMDU4XHVhYzhjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YWUzMFx1YzExYyBcdWM2MDhcdWMwNWMgXHVhZTAwXHVjNzc0XHViNzgwLCBcdWFlMDBcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWM5MDRcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIGlcdWJjODhcdWM5ZjggXHViMmU4XHVjNWI0XHViNGU0XHVjNzU4IFx1YzJkY1x1Yzc5MSBcdWM3MDRcdWNlNThcdWFjMDAgXHViNjExXHVhYzE5XHViMmU0XHViYTc0IFx1YWRmOCBcdWFlMDBcdWM3NDAgXHVjNjA4XHVjMDVjIFx1YWUwMFx1Yzc3NFx1Yjc3Y1x1YWNlMCBcdWJjZjhcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjRcdWMxMWM8XC9wPlxyXG5cclxuPHByZT5cclxuYSBiYyB6XHJcbmRlIGYgeno8XC9wcmU+XHJcblxyXG48cD5cdWM3NzRcdWI3ZjAgXHVhZTAwXHVjNzc0IFx1Yzc4OFx1YjJlNFx1YWNlMCBcdWNlNThcdWM3OTAuIFx1YjQ1MCBcdWJjODhcdWM5ZjgmbmJzcDtcdWIyZThcdWM1YjRcdWM3NzggYmMgXHVjNjQwIGZcdWM3NTggXHVjMmRjXHVjNzkxXHVjNzA0XHVjZTU4XHVhYzAwIFx1YjJlNFx1Yjk3NFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHVjNzc0IFx1YWUwMFx1Yzc0MCBcdWM2MDhcdWMwNWMgXHVhZTAwXHVjNzc0IFx1YzU0NFx1YjJjOFx1YjJlNC4gXHVjNzc0XHVjODFjIFx1Yjc0NFx1YzViNFx1YzRmMFx1YWUzMFx1Yjk3YyBcdWM4MDFcdWM4MDhcdWQ3ODggXHViMTIzXHVjNWI0XHVjMTFjIFx1YzJkY1x1Yzc5MVx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWFjMTlcdWFjOGMgXHViOWNjXHViNGU0XHVjNWI0XHViY2Y0XHViYTc0PFwvcD5cclxuXHJcbjxwcmU+XHJcbmEgYmMgelxyXG5kZSBmIHp6PFwvcHJlPlxyXG5cclxuPHA+XHVhYzAxIFx1YzkwNFx1Yzc1OCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YjJlOFx1YzViNFx1Yzc3OCBhXHVjNjQwIGRlXHVjNzU4IFx1YzJkY1x1Yzc5MVx1YzcwNFx1Y2U1OFx1YWMwMCBcdWI2MTFcdWFjMTlcdWFjZTAsIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHViMmU4XHVjNWI0XHVjNzc4IGJjXHVjNjQwIGZcdWM3NTggXHVjMmRjXHVjNzkxXHViYjM4XHVjNzkwXHVjNzU4IFx1YzcwNFx1Y2U1OFx1YWMwMCBcdWI2MTFcdWFjMTlcdWIyZTQuIFx1YzcwNCBcdWFlMDBcdWM3NDAgXHVjNjA4XHVjMDVjIFx1YWUwMFx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPi4uLlx1YzJkY1x1Yzc5MVx1YzcwNFx1Y2U1OFx1YWMwMCBcdWIyZTRcdWI5NzRcdWFjOGMgXHViY2Y0XHVjNzc4XHViMmU0XHVhY2UwPyBcdWFkZjhcdWFjNzQgXHVhZTAwXHVjNTI4XHVjY2I0IFx1YmIzOFx1YzgxY1x1Yzc3NFx1YjJjOCwgXHVjNzA0IFx1YmIzOFx1YzdhNVx1Yzc0NCBcdWJjZjVcdWMwYWNcdWQ1NzQgXHViYTU0XHViYWE4XHVjN2E1XHVjNWQwXHVjMTFjIFx1YmNmNFx1Yzc5MDxcL3A+XHJcblxyXG48cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVhZTAwXHVjNzU4IFx1YjBiNFx1YzZhOVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWI3NDRcdWM1YjRcdWM0ZjBcdWFlMzBcdWI5N2MgXHVjODAxXHVjODA4XHVkNzg4IFx1YjEyM1x1YWNlMCBcdWJlN2NcdWMxMWMgXHVjNzc0IFx1YWUwMFx1Yzc0NCBcdWM2MDhcdWMwNThcdWFjOGMgXHViOWNjXHViNGU0XHVjNWI0XHVjOGZjXHVjNzkwLiBcdWFlMDBcdWM1ZDAgXHViNGU0XHVjNWI0XHVjNzg4XHViMjk0IFx1YmIzOFx1Yzc5MFx1YjI5NCBcdWI3NDRcdWM1YjRcdWM0ZjBcdWFlMzBcdWM2NDAgXHVjOTA0XHViYzE0XHVhZmM4LCBcdWFkZjhcdWI5YWNcdWFjZTAgQVNDSUkgXHVhYzEyXHVjNzc0IDMzfjEyNiBcdWMwYWNcdWM3NzRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YmIzOFx1Yzc5MFx1YjRlNFx1YjljYyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQ8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1YmIzOFx1YzExY1x1Yzc1OCBcdWIwYjRcdWM2YTlcdWM3NzQgXHVjNWVjXHViN2VjXHViZDg4XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWI0ZTRcdWM1YjRcdWM2MjhcdWIyZTQuIFx1YWMwMSBcdWIyZThcdWM1YjRcdWI0ZTRcdWM3NDAgXHViNzQ0XHVjNWI0XHVjNGYwXHVhZTMwXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YmE3MCwgXHViMmU4XHVjNWI0XHVjNzU4IFx1YWUzOFx1Yzc3NFx1YjI5NCBcdWNkNWNcdWIzMDAgODBcdWM3OTBcdWM3NzRcdWIyZTQuIFx1YWMwMSBcdWM5MDRcdWM1ZDBcdWIyOTQgKFx1YWNmNVx1YmMzMVx1Yzc0NCBcdWQzZWNcdWQ1NjhcdWQ1NzRcdWMxMWMpIFx1Y2Q1Y1x1YjMwMCAxODBcdWM3OTBcdWM3NTggXHViYjM4XHVjNzkwXHVhYzAwIFx1YjRlNFx1YzViNFx1YzYyNFx1YmE3MCwgXHVjNzg1XHViODI1XHViNDE4XHViMjk0IFx1YmIzOFx1YzdhNVx1Yzc0MCBcdWNkNWNcdWIzMDAgMTAwMFx1YzkwNFx1YWU0Y1x1YzljMCBcdWI0ZTRcdWM1YjRcdWM2MmMgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YmIzOFx1YzExY1x1Yjk3YyBcdWM2MDhcdWMwNThcdWFjOGMgXHVjZDljXHViODI1XHVkNTVjIFx1YWNiMFx1YWNmY1x1YmIzY1x1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YzgxNVx1YjJmNVx1Yzc3NCBcdWM1ZWNcdWI3ZWNcdWFjMWNcdWM3NzggXHVhY2JkXHVjNmIwIFx1YzBhY1x1YzgwNFx1YzIxY1x1YzczY1x1Yjg1YyBcdWFjMDBcdWM3YTUgXHVjNTVlXHVjMTFjXHViMjk0IFx1YWM4M1x1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlOFx1YzViNFx1Yjk3YyBcdWFkNmNcdWJkODRcdWQ1NjAgXHViNTRjIFx1YzRmMFx1Yzc3NFx1YjI5NCBcdWFjZjVcdWJjMzEgXHVjNzc0XHVjNjc4XHVjNWQwIFx1YmQ4OFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWFjZjVcdWJjMzFcdWM3NDAgXHVjZDljXHViODI1XHVkNTU4XHVjOWMwIFx1YzU0YVx1YjNjNFx1Yjg1ZCBcdWM4ZmNcdWM3NThcdWQ1NThcdWM3OTAuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMzUxOCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkFsaWdubWVudCBvZiBDb2RlIiwiZGVzY3JpcHRpb24iOiI8cD5Zb3UgYXJlIHdvcmtpbmcgaW4gYSB0ZWFtIHRoYXQgd3JpdGVzIEluY3JlZGlibHkgQ3VzdG9taXphYmxlIFByb2dyYW1taW5nIENvZGV3cml0ZXIgKElDUEMpIHdoaWNoIGlzIGJhc2ljYWxseSBhIHRleHQgZWRpdG9yIHdpdGggYmVsbHMgYW5kIHdoaXN0bGVzLiBZb3UgYXJlIHdvcmtpbmcgb24gYSBtb2R1bGUgdGhhdCB0YWtlcyBhIHBpZWNlIG9mIGNvZGUgY29udGFpbmluZyBzb21lIGRlZmluaXRpb25zIG9yIG90aGVyIHRhYnVsYXIgaW5mb3JtYXRpb24gYW5kIGFsaWducyBlYWNoIGNvbHVtbiBvbiBhIGZpeGVkIHZlcnRpY2FsIHBvc2l0aW9uLCB3aGlsZSBrZWVwaW5nIHRoZSByZXN1bHRpbmcgY29kZSBhcyBzaG9ydCBhcyBwb3NzaWJsZSwgbWFraW5nIHN1cmUgdGhhdCBvbmx5IHdoaXRlc3BhY2VzIHRoYXQgYXJlIGFic29sdXRlbHkgcmVxdWlyZWQgc3RheSBpbiB0aGUgY29kZS4gU28sIHRoYXQgdGhlIGZpcnN0IHdvcmRzIG9uIGVhY2ggbGluZSBhcmUgcHJpbnRlZCBhdCBwb3NpdGlvbiBwMSA9IDE7IHRoZSBzZWNvbmQgd29yZHMgb24gZWFjaCBsaW5lIGFyZSBwcmludGVkIGF0IHRoZSBtaW5pbWFsIHBvc3NpYmxlIHBvc2l0aW9uIHAyLCBzdWNoIHRoYXQgYWxsIGZpcnN0IHdvcmRzIGVuZCBhdCBvciBiZWZvcmUgcG9zaXRpb24gcDIgJm1pbnVzOyAyOyB0aGUgdGhpcmQgd29yZHMgb24gZWFjaCBsaW5lIGFyZSBwcmludGVkIGF0IHRoZSBtaW5pbWFsIHBvc3NpYmxlIHBvc2l0aW9uIHAzLCBzdWNoIHRoYXQgYWxsIHNlY29uZCB3b3JkcyBlbmQgYXQgb3IgYmVmb3JlIHBvc2l0aW9uIHAzICZtaW51czsgMiwgZXRjLjxcL3A+XHJcblxyXG48cD5Gb3IgdGhlIHB1cnBvc2Ugb2YgdGhpcyBwcm9ibGVtLCB0aGUgY29kZSBjb25zaXN0cyBvZiBtdWx0aXBsZSBsaW5lcy4gRWFjaCBsaW5lIGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIHdvcmRzIHNlcGFyYXRlZCBieSBzcGFjZXMuIEVhY2ggd29yZCBjYW4gY29udGFpbiB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBMYXRpbiBsZXR0ZXJzLCBhbGwgQVNDSUkgcHVuY3R1YXRpb24gbWFya3MsIHNlcGFyYXRvcnMsIGFuZCBvdGhlciBub24td2hpdGVzcGFjZSBBU0NJSSBjaGFyYWN0ZXJzIChBU0NJSSBjb2RlcyAzMyB0byAxMjYgaW5jbHVzaXZlKS4gV2hpdGVzcGFjZSBjb25zaXN0cyBvZiBzcGFjZSBjaGFyYWN0ZXJzIChBU0NJSSBjb2RlIDMyKS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBmaWxlIGNvbnRhaW5zIG9uZSBvciBtb3JlIGxpbmVzIG9mIHRoZSBjb2RlIHVwIHRvIHRoZSBlbmQgb2YgZmlsZS4gQWxsIGxpbmVzIChpbmNsdWRpbmcgdGhlIGxhc3Qgb25lKSBhcmUgdGVybWluYXRlZCBieSBhIHN0YW5kYXJkIGVuZC1vZi1saW5lIHNlcXVlbmNlIGluIHRoZSBmaWxlLiBFYWNoIGxpbmUgY29udGFpbnMgYXQgbGVhc3Qgb25lIHdvcmQsIGVhY2ggd29yZCBpcyAxIHRvIDgwIGNoYXJhY3RlcnMgbG9uZyAoaW5jbHVzaXZlKS4gV29yZHMgYXJlIHNlcGFyYXRlZCBieSBvbmUgb3IgbW9yZSBzcGFjZXMuIExpbmVzIG9mIHRoZSBjb2RlIGNhbiBoYXZlIGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzLiBFYWNoIGxpbmUgaW4gdGhlIGlucHV0IGZpbGUgaXMgYXQgbW9zdCAxODAgY2hhcmFjdGVycyBsb25nLiBUaGVyZSBhcmUgYXQgbW9zdCAxMDAwIGxpbmVzIGluIHRoZSBpbnB1dCBmaWxlLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPldyaXRlIHRvIHRoZSBvdXRwdXQgZmlsZSB0aGUgcmVmb3JtYXR0ZWQsIGFsaWduZWQgY29kZSB0aGF0IGNvbnNpc3RzIG9mIHRoZSBzYW1lIG51bWJlciBvZiBsaW5lcywgd2l0aCB0aGUgc2FtZSB3b3JkcyBpbiB0aGUgc2FtZSBvcmRlciwgd2l0aG91dCB0cmFpbGluZyBhbmQgbGVhZGluZyBzcGFjZXMsIHNlcGFyYXRlZCBieSBvbmUgb3IgbW9yZSBzcGFjZXMgc3VjaCB0aGF0IGktdGggd29yZCBvbiBlYWNoIGxpbmUgc3RhcnRzIGF0IHRoZSBzYW1lIHBvc2l0aW9uIHBpLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

ICPC > Regionals > Northern Eurasia > Northern Eurasia Finals > NEERC 2010 A번