#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("Yes");}else{puts("No");} #define MAX_N 200005 int main() { int n; cin >> n; int f[n] = {}; rep(i,n){ string s; cin >> s; int x = 0; if(s[0] == 'D')x += 100; if(s[0] == 'C')x += 200; if(s[0] == 'H')x += 300; if(s[0] == 'S')x += 400; if(s[1] == 'A')x += 1; if(s[1] == '2')x += 2; if(s[1] == '3')x += 3; if(s[1] == '4')x += 4; if(s[1] == '5')x += 5; if(s[1] == '6')x += 6; if(s[1] == '7')x += 7; if(s[1] == '8')x += 8; if(s[1] == '9')x += 9; if(s[1] == 'T')x += 10; if(s[1] == 'J')x += 11; if(s[1] == 'Q')x += 12; if(s[1] == 'K')x += 13; f[i] = x; } sort(f,f+n); char c[5] = {'X','D','C','H','S'}; char d[14] = {'0','A','2','3','4','5','6','7','8','9','T','J','Q','K'}; rep(i,n){ cout << c[f[i]/100] << d[f[i]%100] << ' '; } cout << endl; return 0; }