import java.util.Scanner;

public class Main{
	private static final int MAX_CARDS = 52;
	private static final int NUM_SUIT = 4;
	private static final int MAX_CARD_NUMBER = 13;
	
	private static final int SPADE = 0;
	private static final int HEART = 1;
	private static final int CLUB = 2;
	private static final int DIA = 3;
	
	private static final int EXIST = 1;
	private static final int MISSING = 0;
	
	private static Scanner sc = new Scanner(System.in);
	
	private static int numCards = MAX_CARDS;
	private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1];
	
	public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	}
	
	private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	}
	
	private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	}
	
	private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	}
	
	private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	}
	
	private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	}
	
	private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	}
} import java.util.Scanner; Scanner java.util public class Main{
	private static final int MAX_CARDS = 52;
	private static final int NUM_SUIT = 4;
	private static final int MAX_CARD_NUMBER = 13;
	
	private static final int SPADE = 0;
	private static final int HEART = 1;
	private static final int CLUB = 2;
	private static final int DIA = 3;
	
	private static final int EXIST = 1;
	private static final int MISSING = 0;
	
	private static Scanner sc = new Scanner(System.in);
	
	private static int numCards = MAX_CARDS;
	private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1];
	
	public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	}
	
	private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	}
	
	private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	}
	
	private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	}
	
	private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	}
	
	private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	}
	
	private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	}
} Main private static final int MAX_CARDS = 52; MAX_CARDS 52 private static final int NUM_SUIT = 4; NUM_SUIT 4 private static final int MAX_CARD_NUMBER = 13; MAX_CARD_NUMBER 13 private static final int SPADE = 0; SPADE 0 private static final int HEART = 1; HEART 1 private static final int CLUB = 2; CLUB 2 private static final int DIA = 3; DIA 3 private static final int EXIST = 1; EXIST 1 private static final int MISSING = 0; MISSING 0 private static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) private static int numCards = MAX_CARDS; numCards MAX_CARDS private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1]; cards new int[NUM_SUIT][MAX_CARD_NUMBER + 1] NUM_SUIT MAX_CARD_NUMBER + 1 MAX_CARD_NUMBER 1 public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	} main {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	} initializeCardsState() initializeCardsState numCards = getNumCards() numCards getNumCards() getNumCards checkNumCards(numCards) checkNumCards numCards setAllCardsExist() setAllCardsExist printMissingCards() printMissingCards String[] args args private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	} printMissingCards {		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	} for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		} int i = 0; int i = 0; i 0 i < NUM_SUIT i NUM_SUIT i++ i++ i {
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		} {
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		} for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			} int j = 1; int j = 1; j 1 j < MAX_CARD_NUMBER + 1 j MAX_CARD_NUMBER + 1 MAX_CARD_NUMBER 1 j++ j++ j {
				printMissingCard(i, j);
			} {
				printMissingCard(i, j);
			} printMissingCard(i, j) printMissingCard i j private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	} checkNumCards {
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	} if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		} !(0 < n && n <= MAX_CARDS ) (0 < n && n <= MAX_CARDS ) 0 < n 0 n n <= MAX_CARDS n MAX_CARDS {
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		} System.out.println("?????????????????§????????¶??°?????\?????????????????????") System.out.println System.out System System.out "?????????????????§????????¶??°?????\?????????????????????" System.exit(0) System.exit System 0 int n n private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	} getNumCards {
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	} int n = 0; n 0 if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		} sc.hasNextInt() sc.hasNextInt sc {
			n = sc.nextInt();
		} n = sc.nextInt() n sc.nextInt() sc.nextInt sc {
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		} System.out.println("?????¶??°??\????????\?????????????????????") System.out.println System.out System System.out "?????¶??°??\????????\?????????????????????" System.exit(0) System.exit System 0 return n; n private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	} setCardExist {
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	} char suit = 'a'; suit 'a' int n = 0; n 0 if(sc.hasNext()){
			suit = sc.next().charAt(0);
		} sc.hasNext() sc.hasNext sc {
			suit = sc.next().charAt(0);
		} suit = sc.next().charAt(0) suit sc.next().charAt(0) sc.next().charAt sc.next() sc.next sc 0 if(sc.hasNextInt()){
			n = sc.nextInt();
		} sc.hasNextInt() sc.hasNextInt sc {
			n = sc.nextInt();
		} n = sc.nextInt() n sc.nextInt() sc.nextInt sc switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		} suit case 'S': 'S' case 'S': cards[SPADE][n] = EXIST cards[SPADE][n] cards[SPADE] cards SPADE n EXIST break; case 'H': 'H' case 'H': cards[HEART][n] = EXIST cards[HEART][n] cards[HEART] cards HEART n EXIST break; case 'C': 'C' case 'C': cards[CLUB][n] = EXIST cards[CLUB][n] cards[CLUB] cards CLUB n EXIST break; case 'D': 'D' case 'D': cards[DIA][n] = EXIST cards[DIA][n] cards[DIA] cards DIA n EXIST break; default: default: System.out.println("S, H, C, D????????????????????\?????????????????????") System.out.println System.out System System.out "S, H, C, D????????????????????\?????????????????????" System.exit(0) System.exit System 0 private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	} setAllCardsExist {
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	} int i = 0; i 0 while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		} i < numCards i numCards {
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		} setCardExist() setCardExist i++ i private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	} printMissingCard {
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	} if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		} cards[i][j] == EXIST cards[i][j] cards[i] cards i j EXIST {
			//?????????????????¨????????´???????????????????????????
		} {
			System.out.printf("%s %d\n", getSuit(i), j);
		} System.out.printf("%s %d\n", getSuit(i), j) System.out.printf System.out System System.out "%s %d\n" getSuit(i) getSuit i j int i i int j j private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	} initializeCardsState {
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	} for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		} int i = 0; int i = 0; i 0 i < NUM_SUIT i NUM_SUIT i++ i++ i {
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		} {
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		} for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			} int j = 0; int j = 0; j 0 j < MAX_CARD_NUMBER j MAX_CARD_NUMBER j++ j++ j {
				cards[i][j] = MISSING;
			} {
				cards[i][j] = MISSING;
			} cards[i][j] = MISSING cards[i][j] cards[i] cards i j MISSING private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	} getSuit {
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	} switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		} n case SPADE: SPADE case SPADE: return 'S'; 'S' case HEART: HEART case HEART: return 'H'; 'H' case CLUB: CLUB case CLUB: return 'C'; 'C' case DIA: DIA case DIA: return 'D'; 'D' default: default: return ' '; ' ' int n n public class Main{
	private static final int MAX_CARDS = 52;
	private static final int NUM_SUIT = 4;
	private static final int MAX_CARD_NUMBER = 13;
	
	private static final int SPADE = 0;
	private static final int HEART = 1;
	private static final int CLUB = 2;
	private static final int DIA = 3;
	
	private static final int EXIST = 1;
	private static final int MISSING = 0;
	
	private static Scanner sc = new Scanner(System.in);
	
	private static int numCards = MAX_CARDS;
	private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1];
	
	public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	}
	
	private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	}
	
	private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	}
	
	private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	}
	
	private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	}
	
	private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	}
	
	private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	}
} public class Main{
	private static final int MAX_CARDS = 52;
	private static final int NUM_SUIT = 4;
	private static final int MAX_CARD_NUMBER = 13;
	
	private static final int SPADE = 0;
	private static final int HEART = 1;
	private static final int CLUB = 2;
	private static final int DIA = 3;
	
	private static final int EXIST = 1;
	private static final int MISSING = 0;
	
	private static Scanner sc = new Scanner(System.in);
	
	private static int numCards = MAX_CARDS;
	private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1];
	
	public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	}
	
	private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	}
	
	private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	}
	
	private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	}
	
	private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	}
	
	private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	}
	
	private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	}
} Main
import java.util.Scanner;

public class Main{
	private static final int MAX_CARDS = 52;
	private static final int NUM_SUIT = 4;
	private static final int MAX_CARD_NUMBER = 13;
	
	private static final int SPADE = 0;
	private static final int HEART = 1;
	private static final int CLUB = 2;
	private static final int DIA = 3;
	
	private static final int EXIST = 1;
	private static final int MISSING = 0;
	
	private static Scanner sc = new Scanner(System.in);
	
	private static int numCards = MAX_CARDS;
	private static  int[][] cards = new int[NUM_SUIT][MAX_CARD_NUMBER + 1];
	
	public static void main(String[] args) {
		initializeCardsState();
		numCards = getNumCards();
		checkNumCards(numCards);
		setAllCardsExist();
		printMissingCards();
	}
	
	private static void printMissingCards(){		
		//???????????????????????????????????????
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 1; j < MAX_CARD_NUMBER + 1; j++){
				printMissingCard(i, j);
			}
		}
	}
	
	private static void checkNumCards(int n){
		if(!(0 < n && n <= MAX_CARDS )){
			System.out.println("?????????????????§????????¶??°?????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static int getNumCards(){
		int n = 0;
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		else{
			System.out.println("?????¶??°??\????????\?????????????????????");
			System.exit(0);
		}
		
		return n;
	}
	
	private static void setCardExist(){
		char suit = 'a';
		int n = 0;
		
		if(sc.hasNext()){
			suit = sc.next().charAt(0);
		}
		
		if(sc.hasNextInt()){
			n = sc.nextInt();
		}
		
		switch(suit){
		case 'S':
			cards[SPADE][n] = EXIST;
			break;
		case 'H':
			cards[HEART][n] = EXIST;
			break;
		case 'C':
			cards[CLUB][n] = EXIST;
			break;
		case 'D':
			cards[DIA][n] = EXIST;
			break;
		default:
			System.out.println("S, H, C, D????????????????????\?????????????????????");
			System.exit(0);
		}
	}
	
	private static void setAllCardsExist(){
		//???????????????????????????card????????§??¨?????????
		int i = 0;
		while(i < numCards){
			//??\????????????????????????????????????????????????
			setCardExist();
			i++;
		}
	}
	
	private static void printMissingCard(int i, int j){
		if(cards[i][j] == EXIST){
			//?????????????????¨????????´???????????????????????????
		}
		else{
			System.out.printf("%s %d\n", getSuit(i), j);
		}
	}
	
	private static void initializeCardsState(){
		for(int i = 0; i < NUM_SUIT; i++){
			for(int j = 0; j < MAX_CARD_NUMBER; j++){
				cards[i][j] = MISSING;
			}
		}
	}
	
	private static char getSuit(int n){
		switch(n){
		case SPADE:
			return 'S';
		case HEART:
			return 'H';
		case CLUB:
			return 'C';
		case DIA: 
			return 'D';
		default:
			return ' ';
		}
	}
}