#include using namespace std; using namespace chrono; #if __has_include() #include using namespace atcoder; #endif int main() { int64_t n; cin >> n; cin.ignore(); vector ss(n); for (auto &&s : ss) { getline(cin, s); } unordered_map prev; unordered_map ans; for (int64_t i = 0; i < n; i++) { string s = ss[i]; unordered_map cur(prev); cur[s] += (i + 1); for (auto [p, c] : cur) { ans[p] += c; } swap(prev, cur); } vector> ps; for (auto [p, c] : ans) { ps.push_back(make_pair(p, c)); } // ranges::sort(ps); sort(ps.begin(), ps.end()); for (auto [p, c] : ps) { cout << c << ' ' << p << endl; } return 0; }