#include<iostream>
#include<memory.h>
using namespace std;
#define MAX_DAY 2000
int main(int argc, char *argv[]){
int array[MAX_DAY+1];
memset(array,0,(MAX_DAY+1)*sizeof(int));
int c, f1, f2, d;
cin>>c>>f1>>f2>>d;
for(int i=0;i<c;i++){
int dArrive, dLeave;
cin>>dArrive>>dLeave;
for(int j=dArrive;j<=dLeave;j++){
array[j]++;
}
}
for(int m=d;;m--){
f1-=array[m];
if(f1==f2){
cout<<m<<endl;
break;
}
}
return 0;
}
#include<iostream>
#include<memory.h>
using namespace std;
#define MAX_DAY 2000
int main(int argc, char *argv[]){
int array[MAX_DAY+1];
memset(array,0,(MAX_DAY+1)*sizeof(int));
int c, f1, f2, d;
cin>>c>>f1>>f2>>d;
for(int i=0;i<c;i++){
int dArrive, dLeave;
cin>>dArrive>>dLeave;
for(int j=dArrive;j<=dLeave;j++){
array[j]++;
}
}
for(int m=d;;m--){
f1-=array[m];
if(f1==f2){
cout<<m<<endl;
break;
}
}
return 0;
}