import java.io.*;
import java.util.*;
import java.util.regex.*;
import java.util.stream.*;

class GuitarTab {

    public static enum NOTE {
        A, ASHARP, B, C, CSHARP, D, DSHARP, E, F, FSHARP, G, GSHARP;

        public NOTE add(int num) {
            return NOTE.values()[(this.ordinal() + num) % NOTE.values().length];
        }
    }

    private static final Pattern TAB_PATTERN = Pattern.compile("(.)\\|(.*)\\|");

    private static final List<NOTE> NOTES = new ArrayList<>();

    public static void main(String[] args) {

        new BufferedReader(new InputStreamReader(System.in)).lines()
                .sequential()
                .forEach((line) -> {
                    Matcher m = TAB_PATTERN.matcher(line);
                    if (m.matches()) {
                        NOTE base = NOTE.valueOf(m.group(1));
                        String input = m.group(2);
                        if (NOTES.isEmpty()) {
                            IntStream.range(0, input.length()).forEach(i -> NOTES.add(null));
                        }
                        for (int i = 0; i < input.length(); i++) {
                            if (Character.isDigit(input.charAt(i))) {
                                int fret = Character.getNumericValue(input.charAt(i));
                                int index = i;
                                if (Character.isDigit(input.charAt(i + 1))) {
                                    fret = fret * 10 + Character.getNumericValue(input.charAt(++i));
                                }
                                NOTES.set(index, base.add(fret));
                            }
                        }
                    }
                });
        NOTES.stream()
                .filter(note -> note != null)
                .map(note -> note.toString().replaceAll("SHARP", "#"))
                .forEach(note -> System.out.print(note + " "));
    }

}