조옮김

시간 제한1초메모리 제한128 MB

문제

서양 음악의 음계는 12개의 음으로 이루어져 있다.

A A# B C C# D D# E F F# G G#

이 12개의 음은 무한히 반복된다. 즉, G# 바로 위의 음은 다시 A이다.

인접한 두 음은 반음(semitone) 관계이다. 기호 #(샤프)는 음을 반음 올린다는 뜻이므로, A#은 A를 반음 올린 음이다. 기호 b(플랫)는 음을 반음 내린다는 뜻이다.

#와 b를 사용하면 같은 음을 여러 이름으로 부를 수 있다. 예를 들어 A#과 Bb는 같은 음이고, B#은 C와 같으며, Fb는 E와 같다.

조옮김(transposition)이란 곡의 모든 음을 같은 반음 수만큼 위 또는 아래로 옮기는 작업이다. 조옮김을 한 뒤에도 인접한 음들 사이의 반음 수(음정 관계)는 조옮김 전과 같아야 한다.

어떤 곡이 주어졌을 때, 조옮김한 결과를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 두 줄로 주어진다. 첫째 줄에는 곡을 이루는 음들이 순서대로 주어지며, 음과 음은 하나 이상의 공백으로 구분된다. 둘째 줄에는 조옮김할 반음 수가 정수로 주어진다. 이 값이 양수이면 그 수만큼 위로, 음수이면 그 수만큼 아래로 옮긴다.

입력의 마지막 줄에는 ***가 주어지며, 이는 입력의 끝을 의미한다.

출력

각 테스트 케이스마다 조옮김한 결과를 한 줄에 출력한다. 출력하는 각 음은 문제에서 제시한 12개의 음(A A# B C C# D D# E F F# G G#) 중 하나여야 한다.