용감한 로빈 경의 cAsE cOrReCtOr

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

지칠 줄 모르는 음유시인 세 명이 용감한 기사 로빈 경을 따라다니며 그가 잊고 싶어 하는 무용담을 목청껏 노래한다. 로빈 경은 가사를 한 글자도 바꿀 수 없다. 음유시인이 노래를 인쇄한 원고를 건네주면서 가사는 이대로 끝이라고 명랑하게 선언했기 때문이다.

로빈 경은 원고를 꼼꼼히 뜯어보다가 가장 크게 부르는 대목이 대문자로 적혀 있다는 것을 알아차렸다. 가사는 못 바꿔도 소리는 낮출 수 있고, 그러면서 왕의 영어 어법을 지키라고 요구할 수 있다. 대문자는 소문자로 내리되, 왕의 영어가 대문자를 요구하는 자리는 그대로 둔다.

정작 그 일을 직접 하기는 꺼린 로빈 경은 노래를 1차로 교정하는 프로그램을 대신 써 달라고 부탁했다. 프로그램을 돌린 뒤에도 손볼 곳은 남는다.

프로그램은 텍스트를 읽어 알파벳마다 대소문자를 정한다. 어떤 알파벳의 앞쪽을 거슬러 보면서 공백 문자와 괄호 (, )는 건너뛴다. 그렇게 해서 처음 만난 문자가 마침표, 물음표, 느낌표 중 하나이면 그 알파벳을 대문자로 바꾼다. 나머지 알파벳은 모두 소문자로 바꾸며, 앞에 그런 문자가 아예 없는 알파벳도 소문자로 바꾼다. 3.14처럼 소수점 바로 뒤에는 숫자가 오므로 소수점은 문장을 새로 시작하지 않는다. 숫자 뒤에 대문자가 오는 경우는 그 숫자 자체가 마침표, 물음표, 느낌표로 끝날 때뿐이다. 알파벳이 아닌 문자는 그대로 옮긴다.

입력

입력은 변환할 텍스트이며, 파일 끝까지 읽는다. 여러 줄일 수 있고 알파벳과 숫자, 문장 부호, 괄호, 공백이 들어갈 수 있다.

출력

변환한 텍스트를 출력한다. 입력의 모든 문자가 같은 순서로 같은 자리에 그대로 나오고, 달라지는 것은 알파벳의 대소문자뿐이다.