**Problem Link** - USACO

Initially, I didn’t get this problem, but when I read the editorial, it sort of made sense to me. The only part I don’t get is why we have to add one to our count.

```
cin>>n;
set<string>S[101];
for(int i = 0; i < n; i++){
string s;
cin>>s>>a;
for(int j = 0; j < a; j++){
cin>>s;
S[i].in(s);
}
}
ans = 0;
for(int i = 0; i < n-1; i++){
for(int j = i+1; j < n; j++){
int cnt = 0;
Trav(a,S[j]){
cnt += S[i].count(a);
}
ans = max(ans, cnt+1)**//Why do we have to add one to count????????**;
}
}
cout<<ans;```
```