#include <iostream> #include <unordered_map> #include <unordered_set> #include <string> using namespace std; int main() { int n; cin >> n; unordered_set<string> mem; unordered_map<string, int> word_counts; int i = 0; for (int _ = 0; _ < n; ++_) { string word; cin >> word; if (mem.find(word) != mem.end()) { continue; } word_counts[word]++; if (word_counts[word] == (i + 1)) { mem.insert(word); i++; } } cout << i << endl; return 0; }
n = int(input()) mem = set() word_counts = {} i = 0 for _ in range(n): word = input().strip() if word in mem: continue word_counts[word] = word_counts.get(word, 0) + 1 if word_counts[word] == (i + 1): mem.add(word) i += 1 print(i)