Why this is giving segmentation fault

#include<bits/stdc++.h>
using namespace std;
bool compare(pair<int,int> a,pair<int,int> b){
return(a.second<b.second);
}

int main(){
int t,N,n,m;
vector<pair<int,int>> v;
cin>>t;
while(t–){
cin>>N;
for (int i=0;i<n;i++) {
cin>>n>>m;
v.push_back(make_pair(n,m));
}
sort(v.begin(),v.end(),compare);
int total=1;
int e=v[0].second;
for(int i=1;i<n;i++){
if(v[i].first>e){
total++;
e=v[i].second;
}
}
cout<<total<<endl;
}
}