#1099 변수명 바꾸기

108  1 s   128 MB  

Description

Java에서는 변수 등의 이름을 정할 때 알파벳만 사용하고 전부 붙여 쓰되 단어가 구분될 때에는 대문자로 구분한다. (항상 맨 첫번째 글자는 소문자이다.)

다음의 변수 명은 Java에서 사용하는 변수명의 예다.

longAndMnemonicIdentifier
name
nEERC

C++에서는 알파벳 소문자만 쓰되, 구분할 때에는 '_'로 구분한다.

예를 들자면 다음과 같다.

long_and_mnemonic_identifier
name
n_e_e_r_c

Java의 변수명이 주어졌을 때 C++의 변수명으로, C++의 변수명이 주어졌을 때 Java의 변수명으로 변환하는 프로그램을 작성하라.

Input

입력의 첫번째 줄에는 테스트 케이스의 개수 T(1<=T<=100) 이 입력된다.

각 테스트 케이스는 한줄로 이뤄지며 이는 변수명을 의미한다. 변수명의 최대 길이는 10,000이하이며, 변수명을이루는 문자는 알파벳 소문자와 대문자, '_', 만으로 이뤄지며 그 외의 문자는 입력되지 않는다.

Output

각 테스트 케이스에 대해 변환 결과를 한줄에 하나씩 출력한다. 만약 자바이름이면 C++로, C++이름이면 자바로 변환해 출력하고 둘다 아닐 경우에는 'Error!' 를 출력한다.

Sample Input

Sample Output

4
long_and_mnemonic_identifier
anotherExample
i
bad_Style
longAndMnemonicIdentifier
another_example
i
Error!