This is the problem link
An O(n^2) solution gave me TLE on test 10. I came across one of the solutions below. ``` main() {
int n,i,f,s;
cin>>n;
map<int,int> mp;
pair<int , int> a[n];
for(i=0;i<n;i++)
{
cin>>f>>s;
mp[f]++;
a[i]={f,s};
}
int m=n-1;
for(i=0;i<n;i++)
{
a[i].first=m+mp[a[i].second];
a[i].second=m-mp[a[i].second];
cout<<a[i].first<<" "<<a[i].second<<endl;
}} ``` I don't understand how the following two lines work.
a[i].first=m+mp[a[i].second];
a[i].second=m-mp[a[i].second];
Each team plays n-1 home and n-1 away games . But what is purpose of mp[a[i].second]? Please help.



