//#include <stdio.h>
//int main()
//{
// int x, y, i, j, a=0, front, rear, flag, lap=0,g=0;
// int map[1005][1005]= {0}, q[2][1000005]= {0};
// int dir[4][2]= {{1,0},{-1,0},{0,1},{0,-1}};
// scanf("%d %d", &x, &y);
//
// for(i=0; i<=y+1; i++) {
// for(j=0; j<=x+1; j++) {
// map[i][j] = -1;
// }
// }
//
// for(i=1; i<=y; i++)
// {
// for(j=1; j<=x; j++)
// {
// scanf("%d", &map[i][j]);
// if(map[i][j]==1)
// {
// q[0][a]=i;
// q[1][a]=j;
// a++;
// }
// }
// }
// if(a==x*y){
// printf("0");
// return;
// }
// front=0;
// rear=a;
// flag=rear;
// while(front!=rear)
// {
// for(i=0; i<4; i++)
// {
// if(map[q[0][front]+dir[i][0]][q[1][front]+dir[i][1]]==0)
// {
// q[0][rear]=q[0][front]+dir[i][0];
// q[1][rear]=q[1][front]+dir[i][1];
// map[q[0][rear]][q[1][rear]]=1;
// rear++;
// }
// }
//
// front++;
// if(front==flag)
// {
// lap++;
// flag=rear;
// }
//
//// for(i=1; i<=y; i++) {
//// for(j=1; j<=x; j++) {
//// printf("%d ", map[i][j]);
//// }
//// printf("\n");
//// }
//// printf("\n");
//// scanf("%d", &g);
// }
//// for(i=0; i<rear; i++){
//// printf("%d %d\n", q[0][i], q[1][i]);
//// }
// for(i=1; i<=y;i++){
// for(j=1; j<=x;j++){
// if(map[i][j]==0){
// g=1;
// break;
// }
// }
// }
// if(g==1) printf("-1");
// else
// printf("%d", lap-1);
//
//}
#include <stdio.h>
int main(){
int k=0; a=0;
int q[13][32]={0};
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%d %d %d %d", &q1[0][i], &q1[1][i], &q2[0][i], &q2[1][i]);
}
flag1=3;
flag2=1;
while(1){
for(i=0; i<n; i++){
if(q1[0][i]<flag1){
if(q2[0][i]>k){
cnt=i;
k=q2[0][i];
}
}
}
flag1=k;
flag2=q2[1][cnt];
}
}
// while(1){
// for(i=0; i<n; i++){
// if(f[0]>m1[i]){
// f[0]=m1[i];
// cnt=0;
// }
// else if(k==m1[i]){
// cnt++;
// f[cnt]=i;
// }
// }
// for(i=0; i<cnt; i++){
//
// }
// lap++;
// }