#include #define FOR(i,a,b) for(int i = (a); i < (b); ++i) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for(int i = (n) - 1; (i) >= 0; --i) #define SZ(n) (int)(n).size() #define ALL(n) (n).begin(), (n).end() #define MOD LL(1e9 + 7) #define INF 1000000 using namespace std; typedef long long LL; typedef vector VI; typedef pair PI; vector vcc_d, vcc_c, vcc_h, vcc_s; map mb_d, mb_c, mb_h, mb_s; map cnt_d, cnt_c, cnt_h, cnt_s; char num[13] = { 'A','2','3','4','5','6','7','8','9','T','J','Q','K' }; int main() { int n; cin >> n; REP(i, n) { char m, n; cin >> m >> n; switch (m) { case 'D': cnt_d[n]++; mb_d[n] = true; break; case 'C': cnt_c[n]++; mb_c[n] = true; break; case 'H': cnt_h[n]++; mb_h[n] = true; break; case 'S': cnt_s[n]++; mb_s[n] = true; break; default: break; } } REP(i, 13) { if (mb_d[num[i]]) { REP(j, cnt_d[num[i]]) { vcc_d.push_back(num[i]); } } if (mb_c[num[i]]) { REP(j, cnt_c[num[i]]) { vcc_c.push_back(num[i]); } } if (mb_h[num[i]]) { REP(j, cnt_h[num[i]]) { vcc_h.push_back(num[i]); } } if (mb_s[num[i]]) { REP(j, cnt_s[num[i]]) { vcc_s.push_back(num[i]); } } } for (char e : vcc_d) cout << 'D' << e << " "; for (char e : vcc_c) cout << 'C' << e << " "; for (char e : vcc_h) cout << 'H' << e << " "; for (char e : vcc_s) cout << 'S' << e << " "; cout << endl; return 0; }