골라서 처리하기

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

문제

각 데이터 집합은 여러 줄로 이루어진다. 첫 줄에는 값이 두 개 주어진다. 앞의 값은 1 이상 5 이하의 정수 nn이고, 뒤따르는 데이터 줄의 수를 나타낸다. 뒤의 값은 +, -, ^ 중 하나이고, 수행할 연산을 나타낸다. 이어지는 nn개의 줄에는 데이터가 하나씩 있으며, 양의 정수이거나 양의 실수이거나 길이가 10 이하인 문자열이다.

데이터의 종류는 다음 규칙으로 판별한다.

  • 숫자만으로 이루어진 데이터는 정수다.
  • 숫자가 하나 이상, 소수점 하나, 다시 숫자가 하나 이상 오는 데이터는 실수다.
  • 나머지는 모두 문자열이다. 예를 들어 1a, 12.34.56, .5, 5.는 문자열이다.

기호가 +이면 정수인 데이터만 결과를 만든다. 그 정수의 각 자리 숫자를 더한 값을 출력한다.

기호가 -이면 문자열인 데이터만 결과를 만든다. 문자열에서 소문자 a를 모두 지운 결과를 출력한다. 대문자 A는 그대로 남는다.

기호가 ^이면 실수인 데이터만 결과를 만든다. 그 수를 지수 표기로 바꿔 출력한다. 지수 표기는 이렇게 만든다. 소수점을 뺀 숫자열에서 앞쪽 0과 뒤쪽 0을 떼어 유효 숫자 d1d2dkd_1 d_2 \dots d_k를 얻으면, 원래 값은 d1.d2dk×10ed_1.d_2 \dots d_k \times 10^e 꼴이 된다. kk가 1이면 d1d_1을, 아니면 d1.d2dkd_1.d_2 \dots d_k를 쓰고 그 뒤에 e와 지수 ee를 이어 붙인다. 지수가 음수면 앞에 -를 붙이고, 양수면 +를 쓰지 않는다. 2.53은 2.53e0, 25.3은 2.53e1, 0.253은 2.53e-1, 1.000은 1e0이 된다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 각 테스트 케이스의 데이터가 주어진다.

각 테스트 케이스의 첫 줄에는 데이터 줄의 수 nn (1n51 \le n \le 5)과 수행할 연산을 나타내는 기호 +, -, ^ 중 하나가 공백으로 구분되어 주어진다. 이어지는 nn개의 줄에는 각각 양의 정수, 양의 실수, 길이가 10 이하인 문자열 중 하나가 주어진다. 데이터에는 공백이 없다.

출력

테스트 케이스마다 한 줄을 출력한다. 줄은 Case #x:로 시작하고, xx는 1부터 세는 테스트 케이스 번호다. 접두사 뒤에는 기호에 해당하는 종류의 데이터에서 나온 결과를 입력 순서대로 공백 하나로 구분해 붙이고, 접두사와 첫 결과 사이에도 공백을 하나 둔다.

해당 종류의 데이터가 하나도 없으면 접두사만 출력하고 뒤에 공백을 붙이지 않는다. 결과가 빈 문자열이어도 자리를 차지하므로 그 앞뒤의 구분 공백은 그대로 출력한다.