약어
면접 대비시간 제한1초메모리 제한512 MB
본문에서 한 개의 대문자로 시작하는 단어 두 개 이상이 공백 하나로 이어진 최대 구간을 찾아, 첫 글자들을 모은 약어와 괄호에 담은 원문으로 바꾼다.
문제
약어는 단어나 구를 짧게 줄인 표기다. 영어 abbreviation은 짧다는 뜻의 라틴어 brevis에서 왔다. 대문자로 시작하는 단어가 여러 개 이어진 부분을 각 단어의 첫 대문자만 이어 붙인 약어로 바꾸고, 그 뒤 괄호 안에 원래 부분을 그대로 적는 도구를 작성하라.
용어를 정확히 정의한다. 본문에서 단어는 영어 대소문자가 최대한 길게 이어진 구간이다. 대문자 단어는 대문자 한 개 뒤에 소문자가 하나 이상 붙은 단어다. 예를 들어 "Ab", "Abc", "Abcd", "Abcde"는 대문자 단어지만 "ab", "A", "AB", "ABc", "AbC"는 아니다.
약어로 줄일 수 있는 구간은 대문자 단어 두 개 이상이 이어진 부분으로, 이웃한 두 단어 사이는 반드시 공백 한 칸이다. 구간 안에는 줄바꿈도 문장 부호도 들어갈 수 없다.
약어로 줄일 수 있는 구간의 약어는 구간에 속한 각 단어의 첫 대문자를 순서대로 이어 붙인 다음, 공백 한 칸, 여는 괄호, 원래 구간, 닫는 괄호를 붙인 것이다.
바꾸는 구간은 항상 최대 구간이다. 즉 왼쪽이나 오른쪽으로 대문자 단어를 하나 더 붙여 늘릴 수 없는 구간만 바꾼다.
입력
입력은 최대 1000줄이고, 각 줄의 길이는 최대 120자다. 각 줄은 공백, 영어 대소문자, 쉼표, 마침표로만 이루어진다. 줄 앞뒤에 공백은 없고 빈 줄도 없다. 입력에는 줄이 적어도 하나 있다.
출력
원래 본문에서 약어로 줄일 수 있는 모든 최대 구간을 그 약어로 바꾼 결과를 출력한다. 공백과 문장 부호를 포함해 나머지 문자는 입력과 똑같이 유지한다.