// multiset を利用 #include #include #include #define rep(i, l, n) for (int i = (l); i < (n); i++) using namespace std; using str = string; template using V = vector; int main(void) { int n; cin >> n; V s(n); multiset st = {}; rep(i, 0, n) { cin >> s[i]; rep(j, 0, s[i].size()) { str t = ""; rep(k, 0, s[i].size()) { if (j == k) { t.push_back('.'); continue; } t.push_back(s[i][k]); } st.insert(t); } } rep(i, 0, n) { int ans = 0; rep(j, 0, s[i].size()) { str t = ""; rep(k, 0, s[i].size()) { if (j == k) { t.push_back('.'); continue; } t.push_back(s[i][k]); } ans += st.count(t) - 1; } cout << ans << endl; } return 0; }