#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll,ll>
#define F first
#define S second
#define sz(s) (int)s.size()
#define max(p,q)((p)>(q)?(p):(q))
#define fast ios::sync_with_stdio(0), cin.tie(0)
#define N 100010
ll n;
pll a[N];
int main() {
fast;cout.tie(0);
cin>>n;
for(ll i=0;i<n;i++){
cin>>a[i].F>>a[i].S;
a[i].S=-a[i].S;
}
sort(a,a+n);//第一個越來越大,第二個越來越小
for(ll i=0;i<n;i++)a[i].S=-a[i].S;
int ans=1,mx=a[0].S,last=a[0].S;
bool touch=0;
for(ll i=1;i<n;i++){
if(a[i].F>mx+1){
cout<<-1<<endl;
return 0;
}
if(!touch && a[i].S>last){
touch=1;
ans++;
}
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nIAojZGVmaW5lIHBsbCBwYWlyPGxsLGxsPgojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIHN6KHMpIChpbnQpcy5zaXplKCkKI2RlZmluZSBtYXgocCxxKSgocCk+KHEpPyhwKToocSkpCiNkZWZpbmUgZmFzdCBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKQojZGVmaW5lIE4gMTAwMDEwCmxsIG47CnBsbCBhW05dOwppbnQgbWFpbigpIHsKICBmYXN0O2NvdXQudGllKDApOwogIGNpbj4+bjsKICBmb3IobGwgaT0wO2k8bjtpKyspeyAKICAgIGNpbj4+YVtpXS5GPj5hW2ldLlM7CiAgICBhW2ldLlM9LWFbaV0uUzsKICB9CiAgc29ydChhLGErbik7Ly/nrKzkuIDlgIvotorkvobotorlpKfvvIznrKzkuozlgIvotorkvobotorlsI8KICBmb3IobGwgaT0wO2k8bjtpKyspYVtpXS5TPS1hW2ldLlM7CiAgaW50IGFucz0xLG14PWFbMF0uUyxsYXN0PWFbMF0uUzsKICBib29sIHRvdWNoPTA7CiAgZm9yKGxsIGk9MTtpPG47aSsrKXsKICAgIGlmKGFbaV0uRj5teCsxKXsKICAgICAgY291dDw8LTE8PGVuZGw7CiAgICAgIHJldHVybiAwOwogICAgfQogICAgaWYoIXRvdWNoICYmIGFbaV0uUz5sYXN0KXsKICAgICAgdG91Y2g9MTsKICAgICAgYW5zKys7CiAgICB9CiAgfQogIGNvdXQ8PGFuczw8ZW5kbDsKICByZXR1cm4gMDsKfQ==