#include #include char *marks = "DCHS"; char *numbers = "A23456789TJQK"; int numof(char c, char *str) { int i; for (i = 0; *str; str++, i++) if (*str == c) break; return i; } int cardcmp(const void *a, const void *b) { char *p = (char *)a, *q = (char *)b; int ret; ret = numof(p[0], marks) - numof(q[0], marks); if (ret) return ret; ret = numof(p[1], numbers) - numof(q[1], numbers); return ret; } int main(void) { int N; char cards[52 * 3 + 1]; scanf("%d\n", &N); fgets(cards, N * 3 + 1,stdin); cards[N * 3 - 1] = ' '; qsort(cards, N, 3, cardcmp); cards[N * 3 - 1] = '\n'; printf("%s", cards); return 0; }