만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

복잡한 문서

면접 대비

시간 제한1초메모리 제한256 MB

요약
각 줄에서 콜론과 대시 앞뒤에 공백이나 줄의 시작과 끝이 오도록 최소 개수의 공백을 넣는다.
난이도

쉬움10점 중 3점

유형
문자열, 구현, 그리디, 시뮬레이션
정답자
아직 제출이 없습니다

문제

로만은 대형 IT 회사 Textawei의 테크니컬 라이터다. 그의 일은 기술 문서, 규칙, 명세서 등을 작성하는 것이다. 그가 쓴 글의 양은 엄청나다. 어느 날 상사에게서 편지를 받기 전까지는 모든 게 순조로웠다. 그 편지에서는 문서의 정보를 최신으로 유지하고 문체를 일관되게 유지하는 것이 중요하다고 강조했으며, 첨부로 문체 설명이라는 규칙 모음이 들어 있었다. 게다가 회사는 모든 텍스트 파일을 검사해 불일치를 지적하는 시스템까지 구축했다.

로만은 자신의 문서에 대한 보고서를 서둘러 확인했고 약 100500건의 긴급한 문제를 보았다. 큰 슬픔 속에서도 로만은 용감하게 자신의 실수를 분석하기로 했다. 불일치의 대부분은 하나의 규칙과 관련이 있었다. 그 규칙은 "각 콜론과 대시의 앞뒤에는 최소한 하나의 공백이나 줄의 시작/끝이 있어야 한다"는 것이었다.

이 시점에서 로만은 적어도 이 규칙에 관해서는 자신의 문서를 고칠 프로그램을 만들 수 있다는 것을 깨달았다. 그 프로그램은 규칙이 만족되도록 텍스트에 최소한의 공백을 추가한다.

안타깝게도 로만은 테크니컬 라이터라서 코딩을 할 수 없다. 그를 도와주자.

입력

입력 파일의 첫 번째 줄에는 텍스트의 줄 수를 나타내는 정수 TT가 하나 주어진다 (1≤T≤10 0001 \le T \le 10\,000). 이어서 TT개의 줄에 문서의 텍스트가 주어진다.

텍스트의 총 문자 수는 10 00010\,000 이하임이 보장된다. 모든 문자의 ASCII 코드는 32 이상 126 이하다.

출력

수정된 텍스트를 출력 파일에 출력한다.

힌트

예제의 어떤 줄도 공백 문자로 끝나지 않는다.

예제1

  1. 예제 1

    입력
    2
    This document describes a secret: new powerful product-Arkana!
    What is that? Let us start:
    
    예상 출력
    This document describes a secret : new powerful product - Arkana!
    What is that? Let us start :