import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Main {
	public static final String EOL = System.getProperty("line.separator");
	public static final char[] SUIT = {'S','H','C','D'};
	private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	}
	
    public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    }
 
    public static void main(String[] args) throws IOException {
    	new Main().exec();
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.io.PrintWriter; PrintWriter java.io public class Main {
	public static final String EOL = System.getProperty("line.separator");
	public static final char[] SUIT = {'S','H','C','D'};
	private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	}
	
    public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    }
 
    public static void main(String[] args) throws IOException {
    	new Main().exec();
    }
} Main public static final String EOL = System.getProperty("line.separator"); EOL System.getProperty("line.separator") System.getProperty System "line.separator" public static final char[] SUIT = {'S','H','C','D'}; SUIT {'S','H','C','D'} 'S' 'H' 'C' 'D' private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	} getSuitNum {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	} switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		} suit case 'S': 'S' case 'S': return 0; 0 case 'H': 'H' case 'H': return 1; 1 case 'C': 'C' case 'C': return 2; 2 case 'D': 'D' case 'D': return 3; 3 return -1; -1 1 char suit suit public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    } exec {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    } boolean[][] trump = new boolean[4][13]; trump new boolean[4][13] 4 13 try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	} {
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) new BufferedReader(new InputStreamReader(System.in)) PrintWriter out = new PrintWriter(System.out) PrintWriter out = new PrintWriter(System.out) new PrintWriter(System.out) int n = Integer.parseInt(br.readLine()); n Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            } {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            } String[] str = br.readLine().split(" "); str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " char suitChar = str[0].charAt(0); suitChar str[0].charAt(0) str[0].charAt str[0] str 0 0 int number = Integer.parseInt(str[1]); number Integer.parseInt(str[1]) Integer.parseInt Integer str[1] str 1 trump[getSuitNum(suitChar)][number-1] = true trump[getSuitNum(suitChar)][number-1] trump[getSuitNum(suitChar)] trump getSuitNum(suitChar) getSuitNum suitChar number-1 number 1 true StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            } int suitNum=0; int suitNum=0; suitNum 0 suitNum<SUIT.length suitNum SUIT.length SUIT SUIT.length suitNum++ suitNum++ suitNum {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            } {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            } for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	} int number=1; int number=1; number 1 number<=13 number 13 number++ number++ number {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	} {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	} if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		} !trump[suitNum][number-1] trump[suitNum][number-1] trump[suitNum] trump suitNum number-1 number 1 {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		} sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL) sb.append(SUIT[suitNum]).append(' ').append(number).append sb.append(SUIT[suitNum]).append(' ').append(number) sb.append(SUIT[suitNum]).append(' ').append sb.append(SUIT[suitNum]).append(' ') sb.append(SUIT[suitNum]).append sb.append(SUIT[suitNum]) sb.append sb SUIT[suitNum] SUIT suitNum ' ' number EOL out.print(sb.toString()) out.print out sb.toString() sb.toString sb out.flush() out.flush out public static void main(String[] args) throws IOException {
    	new Main().exec();
    } main {
    	new Main().exec();
    } new Main().exec() new Main().exec new Main() String[] args args public class Main {
	public static final String EOL = System.getProperty("line.separator");
	public static final char[] SUIT = {'S','H','C','D'};
	private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	}
	
    public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    }
 
    public static void main(String[] args) throws IOException {
    	new Main().exec();
    }
} public class Main {
	public static final String EOL = System.getProperty("line.separator");
	public static final char[] SUIT = {'S','H','C','D'};
	private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	}
	
    public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    }
 
    public static void main(String[] args) throws IOException {
    	new Main().exec();
    }
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class Main {
	public static final String EOL = System.getProperty("line.separator");
	public static final char[] SUIT = {'S','H','C','D'};
	private int getSuitNum(char suit) {
		switch(suit) {
		case 'S': return 0;
		case 'H': return 1;
		case 'C': return 2;
		case 'D': return 3;
		}
		return -1;
	}
	
    public void exec() throws IOException {
    	boolean[][] trump = new boolean[4][13];
    	try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	PrintWriter out = new PrintWriter(System.out);){
            int n = Integer.parseInt(br.readLine());
            for(int i=0; i<n; i++) {
            	String[] str = br.readLine().split(" ");
            	char suitChar = str[0].charAt(0);
            	int number = Integer.parseInt(str[1]);
        		trump[getSuitNum(suitChar)][number-1] = true;
            }
            
            StringBuilder sb = new StringBuilder();
            for(int suitNum=0; suitNum<SUIT.length; suitNum++) {
            	for(int number=1; number<=13; number++) {
            		if(!trump[suitNum][number-1]) {
            			sb.append(SUIT[suitNum]).append(' ').append(number).append(EOL);
            		}
            	}
            }
            out.print(sb.toString());
            out.flush();
    	}
    }
 
    public static void main(String[] args) throws IOException {
    	new Main().exec();
    }
}