#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
const long long MOD1 = 1000000007;
const long long MOD2 = 998244353;
typedef long long ll;
typedef pair<ll, ll> P;
const long long INF = 1e17;
template <typename T>
void input_arr(vector<T>& A, ll N) {
    for (ll i = 0; i < N; i++) {
        cin >> A[i];
    }
}
void solve() {
    ll N; cin >> N;
    vector<string>S(N); input_arr(S,N);
    map<string, ll>MAP;
    for (ll i = 0; i < N; i++) {
        for (ll j = 0; j < S[i].size(); j++) {
            string T = S[i];
            T[j] = '.';
            MAP[T]++;
        }
    }
    for (ll i = 0; i < N; i++) {
        ll ans = 0;
        for (ll j = 0; j < S[i].size(); j++) {
            string T = S[i];
            T[j] = '.';
            ans += MAP[T] - 1;
        }
        cout << ans << endl;
    }
}
int main() {
    ll T=1;//cin>>T;
    while(T--)solve();
}