#include<bits/stdc++.h>
using namespace std;#definedbdouble#definelllonglong#definePirpair<int,int>#definefifirst#definesesecond#definepbpush_back#definem_pmake_pair#defineinf0x3f3f3f3f#defineINF0x3f3f3f3f3f3f3f3f/*==========ACMer===========*/constint N =1e5+10;
Pir p[N];intmain(){
int s, t;scanf("%d %d",&s,&t);int n;scanf("%d",&n);int x, y;for(int i =1; i <= n; i ++){
scanf("%d %d",&x,&y);
p[i]=m_p(x, y);}sort(p +1, p +1+ n);int i =1;int ans =0;while(i <= n){
int mx =-inf;while(i <= n && p[i].fi <= s){
mx =max(mx, p[i].se);
i ++;}if(mx < s){
printf("-1\n");return0;}
s = mx;
ans ++;if(mx >= t){
printf("%d\n", ans);return0;}}printf("-1\n");return0;}