#include using namespace std; #define REP(i, n) for(int i = 0; i < (int)(n); i++) #define FOR(i, n, m) for(int i = (m); i < (int)(n); i++) using ll = long long; using ld = long double; bool f(const string& a, const string& b){ int cnt = 0; REP(i, (int)a.size()){ cnt += a[i] != b[i]; } return cnt == 1; } int main(){ ll N; cin >> N; vector S(N); vector> A(11); vector cnt(N, 0); REP(i, N){ string s; cin >> s; S[i] = s; A[s.size()].push_back(i); } REP(i, 11){ REP(j, A[i].size()){ auto u = A[i][j]; FOR(k, A[i].size(), j+1){ auto v = A[i][k]; bool t = f(S[u], S[v]); //cerr << S[u] << " " << S[v] << " " << t << endl; cnt[u] += t; cnt[v] += t; } } } REP(i, N){ cout << cnt[i] << endl; } }