Problem:
Finding Missing Cards

Taro is going to play a card game. However, now he has only n cards, even though there should be 52 cards (he has no Jokers).

The 52 cards include 13 ranks of each of the four suits: spade, heart, club and diamond.

Input

In the first line, the number of cards n (n ≤ 52) is given.

In the following n lines, data of the n cards are given. Each card is given by a pair of a character and an integer which represent its suit and rank respectively. A suit is represented by 'S', 'H', 'C' and 'D' for spades, hearts, clubs and diamonds respectively. A rank is represented by an integer from 1 to 13.

Output

Print the missing cards. The same as the input format, each card should be printed with a character and an integer separated by a space character in a line.
Arrange the missing cards in the following priorities:

Print cards of spades, hearts, clubs and diamonds in this order.

If the suits are equal, print cards with lower ranks first.

Sample Input

47
S 10
S 11
S 12
S 13
H 1
H 2
S 6
S 7
S 8
S 9
H 6
H 8
H 9
H 10
H 11
H 4
H 5
S 2
S 3
S 4
S 5
H 12
H 13
C 1
C 2
D 1
D 2
D 3
D 4
D 5
D 6
D 7
C 3
C 4
C 5
C 6
C 7
C 8
C 9
C 10
C 11
C 13
D 9
D 10
D 11
D 12
D 13

Sample Output

S 1
H 3
H 7
C 12
D 8

Note

      解説

Solution in JAVA (judge verdict: WA: Presentation Error)



import java.util.*;

public class Main {
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int n, count, i;
		i = 0;
		count = 0;// for?????§?????¨
		n = scan.nextInt();
		StringBuilder sb = new StringBuilder();
		List<String> list = new ArrayList<String>();
		List<Integer> list2 = new ArrayList<Integer>();
		List<Integer> list3 = new ArrayList<Integer>();
		// ??????????????????????????±?????\???
		for (; count < n; count++) {
			list.add(scan.next());// ??????
			list2.add(scan.nextInt());// ??°???
		}

		// list3????????????
		for (; i < 13; i++) {
			list3.add(i+1);
		}

		// S???????????????)?????????
		count = 0;
		i = 0;
		for (; count < n; count++) {// n??????????????????
			if (list.get(count).equals("S")) {// S??§?????????????????????????????????
				list3.set(list2.get(count) - 1, 0);// ?????????????????°??????list3??§0???????????????
			}
		}
		// S(????????????)?????????StringBuilder?????\???
		for (; i < 13; i++) {
			if (list3.get(i) != 0) {
				sb.append("S");
				sb.append(" ");
				sb.append(list3.get(i));
				sb.append("\n");
			}
		}

		// list3????????????
		list3.clear();
		i = 0;
		for (; i < 13; i++) {
			list3.add(i+1);
		} // S(???????????????????????????????????§

		// H????????????)?????????
		count = 0;
		i = 0;
		for (; count < n; count++) {// n??????????????????
			if (list.get(count).equals("H")) {// H??§?????????????????????????????????
				list3.set(list2.get(count) - 1, 0);// ?????????????????°??????list3??§0???????????????
			}
		}
		// H(?????????)?????????StringBuilder?????\???
		for (; i < 13; i++) {
			if (list3.get(i) != 0) {
				sb.append("H");
				sb.append(" ");
				sb.append(list3.get(i));
				sb.append("\n");
			}
		}

		// list3????????????
		list3.clear();
		i = 0;
		for (; i < 13; i++) {
			list3.add(i+1);
		} // H(????????????????????????????????§
		
		// C????????????)?????????
		count = 0;
		i = 0;
		for (; count < n; count++) {// n??????????????????
			if (list.get(count).equals("C")) {// C??§?????????????????????????????????
				list3.set(list2.get(count) - 1, 0);// ?????????????????°??????list3??§0???????????????
			}
		}
		// H(?????????)?????????StringBuilder?????\???
		for (; i < 13; i++) {
			if (list3.get(i) != 0) {
				sb.append("C");
				sb.append(" ");
				sb.append(list3.get(i));
				sb.append("\n");
			}
		}

		// list3????????????
		list3.clear();
		i = 0;
		for (; i < 13; i++) {
			list3.add(i+1);
		}//C(????????????????????????????????§
		
		// D????????????)?????????
				count = 0;
				i = 0;
				for (; count < n; count++) {// n??????????????????
					if (list.get(count).equals("D")) {//D??§?????????????????????????????????
						list3.set(list2.get(count) - 1, 0);// ?????????????????°??????list3??§0???????????????
					}
				}
				// D(?????????)?????????StringBuilder?????\???
				for (; i < 13; i++) {
					if (list3.get(i) != 0) {
						sb.append("D");
						sb.append(" ");
						sb.append(list3.get(i));
						sb.append("\n");
					}
				}

				// list3????????????
				list3.clear();
				i = 0;
				for (; i < 13; i++) {
					list3.add(i+1);
				}//D(????????????????????????????????§

		System.out.println(new String(sb));

	}
}