약어

본문에서 한 개의 대문자로 시작하는 단어 두 개 이상이 공백 하나로 이어진 최대 구간을 찾아, 첫 글자들을 모은 약어와 괄호에 담은 원문으로 바꾼다.

보통5문자열시뮬레이션구현그리디면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

약어는 단어나 구를 짧게 줄인 표기다. 영어 abbreviation은 짧다는 뜻의 라틴어 brevis에서 왔다. 대문자로 시작하는 단어가 여러 개 이어진 부분을 각 단어의 첫 대문자만 이어 붙인 약어로 바꾸고, 그 뒤 괄호 안에 원래 부분을 그대로 적는 도구를 작성하라.

용어를 정확히 정의한다. 본문에서 단어는 영어 대소문자가 최대한 길게 이어진 구간이다. 대문자 단어는 대문자 한 개 뒤에 소문자가 하나 이상 붙은 단어다. 예를 들어 "Ab", "Abc", "Abcd", "Abcde"는 대문자 단어지만 "ab", "A", "AB", "ABc", "AbC"는 아니다.

약어로 줄일 수 있는 구간은 대문자 단어 두 개 이상이 이어진 부분으로, 이웃한 두 단어 사이는 반드시 공백 한 칸이다. 구간 안에는 줄바꿈도 문장 부호도 들어갈 수 없다.

약어로 줄일 수 있는 구간의 약어는 구간에 속한 각 단어의 첫 대문자를 순서대로 이어 붙인 다음, 공백 한 칸, 여는 괄호, 원래 구간, 닫는 괄호를 붙인 것이다.

바꾸는 구간은 항상 최대 구간이다. 즉 왼쪽이나 오른쪽으로 대문자 단어를 하나 더 붙여 늘릴 수 없는 구간만 바꾼다.

입력

입력은 최대 1000줄이고, 각 줄의 길이는 최대 120자다. 각 줄은 공백, 영어 대소문자, 쉼표, 마침표로만 이루어진다. 줄 앞뒤에 공백은 없고 빈 줄도 없다. 입력에는 줄이 적어도 하나 있다.

출력

원래 본문에서 약어로 줄일 수 있는 모든 최대 구간을 그 약어로 바꾼 결과를 출력한다. 공백과 문장 부호를 포함해 나머지 문자는 입력과 똑같이 유지한다.