#include #include #include #include #include #include #include #include using namespace std; using ll = long long; #define rep(i, j, n) for (ll i = j; i < (n); ++i) #define rrep(i, j, n) for (ll i = (n)-1; j <= i; --i) #define all(a) a.begin(), a.end() template std::ostream &operator<<(std::ostream &os, std::vector &a) { for (size_t i = 0; i < a.size(); ++i) os << (i > 0 ? " " : "") << a[i]; return os << '\n'; } template std::istream &operator>>(std::istream &is, std::vector &a) { for (T &x : a) { is >> x; } return is; } [[maybe_unused]] constexpr long long MOD = 998244353; // constexpr long long MOD = 1000000007; [[maybe_unused]] constexpr int INF = 0x3f3f3f3f; [[maybe_unused]] constexpr long long INFL = 0x3f3f3f3f3f3f3f3fLL; int main() { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; vector s(n); cin >> s; map mp; auto inc = [](char &c) { if (c == 'z') c = 'a'; else ++c; }; for (const string &t : s) ++mp[t]; for (string t : s) { int x = 0; for (int i = 0; i < t.size(); ++i) { rep(j, 0, 25) { inc(t[i]); x += mp[t]; } inc(t[i]); } cout << x << '\n'; } }