#include int main() { int n; if (scanf("%d", &n) != 1 || n <= 0) { puts("Nespravny vstup"); return 0; } char buf[100]; fgets(buf, 100, stdin); char names[1000][100]; int count = 0; while (fgets(buf, 100, stdin)) { int len = 0; while (buf[len]) len++; while (len > 0 && (buf[len - 1] == '\n' || buf[len - 1] == '\r')) buf[--len] = '\0'; if (len == 0) break; if (count < 1000) { int i = 0; while ((names[count][i] = buf[i])) i++; count++; } } if (count == 0) { puts("Ziadne prihlasky"); return 0; } char tmp[100]; for (int i = 0; i < count - 1; i++) for (int j = i + 1; j < count; j++) { int k = 0; while (names[i][k] && names[i][k] == names[j][k]) k++; if ((unsigned char)names[i][k] > (unsigned char)names[j][k]) { int t = 0; while ((tmp[t] = names[i][t])) t++; t = 0; while ((names[i][t] = names[j][t])) t++; t = 0; while ((names[j][t] = tmp[t])) t++; } } int unique = 1; for (int i = 1; i < count; i++) { int k = 0; while (names[i][k] && names[i][k] == names[unique - 1][k]) k++; if ((unsigned char)names[i][k] != (unsigned char)names[unique - 1][k]) { int t = 0; while ((names[unique][t] = names[i][t])) t++; unique++; } } count = unique; int accepted = (n < count) ? n : count; puts("Prijati studenti:"); for (int i = 0; i < accepted; i++) puts(names[i]); if (accepted < count) { puts("Neprijati studenti:"); for (int i = accepted; i < count; i++) puts(names[i]); } return 0; }