//#define _CRT_SECURE_NO_WARNINGS #include #include #include #define MAXN 50000 int N; char **s; int *n; int compare_confuse(const char* s, const char* t) { int d = 0; for ( ; *s && *t; s++, t++) if (*s != *t) if (++d >= 2) return 2; if (*s || *t) return -1; return d; } int main() { scanf("%d", &N); s = (char **)malloc(N * sizeof(char *)); for (int i = 0; i < N; i++) { s[i] = (char *)malloc(10+1); scanf("%s", s[i]); } n = (int *)calloc(N, sizeof(int)); for (int i = 0; i < N; i++) for (int j = i + 1; j < N; j++) if (compare_confuse(s[i], s[j]) == 1) { n[i] += 1; n[j] += 1; } for (int i = 0; i < N; i++) printf("%d\n", n[i]); }