semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
 	int sz[50000][2];
 	int n,row,col,max,min,a;
 	double i;
    scanf("%d",&n);
    for(row=0;row<n;row++){
		for(col=0;col<2;col++){
			scanf("%d",&sz[row][col]);
			}
		}
	for(row=0;row<n;row++){
		if(row==0){
			min=sz[row][0];
			}
		else{
			if(sz[row][0]<min){
				min=sz[row][0];
				}
			}
		}
	for(row=0;row<n;row++){
		if(row==0){
			max=sz[row][1];
			}
		else{
			if(sz[row][1]>max){
				max=sz[row][1];
				}
			}
		}
	for(i=min;i<=max;i=i+0.5){
		for(row=0;row<n;row++){
			if(i>=sz[row][0]&&i<=sz[row][1]){
				break;
				}
			else if(row==n-1){
				printf("no");
				return 0;
				}
			}
		if(i==max) printf("%d %d",min,max);
		}
	
    scanf("%d",&i);
    return 0;
}
int main(){
    int sz[100000],n,i,a,b,k,s,m;
   scanf("%d",&n);
  for(i=0;i<n*2;){
      scanf("%d%d",&sz[i],&sz[i+1]);
      i+=2;
       }
       int sz2[100000];
       for(i=0;i<2*n;i++){
           sz2[i]=sz[i];
       }
       for(i=0;i<2*n;i++){
           for(k=0;k<2*n-1;k++){
               if(sz[k]>sz[k+1]){
                   m=sz[k],sz[k]=sz[k+1],sz[k+1]=m;
               }
           }
       }
       a=sz[0],b=sz[2*n-1];
       for(k=0;k<n;k++){
           for(i=0;i<2*n;){
               if(sz2[i]<=a&&sz2[i+1]>=a){
                   a=sz2[i+1];
               }
               i=i+2;
           }
       }
       if(a==b){
           printf("%d %d",sz[0],sz[2*n-1]);
       }else{
           printf("no");
       }
       return 0;
}
int main(){
    int n,i,k,t,e=0;
    scanf("%d",&n);
    int a[n],b[n];
    for(i=0;i<n;i++){
       scanf("%d %d",&(a[i]),&(b[i])); 
       }
    for(k=0;k<n;k++){
       for(i=0;i<n-k-1;i++){
          if(a[i]>a[i+1]){
            t=a[i+1];
            a[i+1]=a[i];
            a[i]=t;
            }
          if(b[i]>b[i+1]){
            t=b[i+1];
            b[i+1]=b[i];
            b[i]=t; 
            } 
          }
        }
     for(i=0;i<n-1;i++){
         if(b[i]>=a[i+1]){
              e++;            
           }
         }
     if(e<n-1){
       printf("no");
       }else{
      printf("%d %d",a[0],b[n-1]);     
      }
      return 0;  
 }
int main(){
	int a[5000],b[5000],sz[5000],n,N,flag,i,max,min;
	scanf("%d",&N);
	flag=1;
	for(i=0;i<5000;i++){
		sz[i]=0;
	}
	for(n=0;n<N;n++){
		scanf("%d %d",&a[n],&b[n]);
		for(i=a[n];i<b[n];i++){
			sz[i]=1;
		}
	}
          min=a[0];
          max=b[0];
	for(n=1;n<N;n++){
		if(a[n]<min){
			min=a[n];
		}
		if(b[n]>max){
			max=b[n];
		}
	}
	for(i=min;i<max;i++){
		if(sz[i]==0){
			printf("no");
			flag=0;
			break;
		}
	} if(flag){
		printf("%d %d",min,max);
	}
	return 0;
}
int main()
{
	int n,a[1000],b[1000],m,i,j,s=1,t=20000;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %d",&a[i],&b[i]);
		a[i]*=2;
		b[i]*=2;
		if(a[i]<t)
			t=a[i];
		if(b[i]>s)
			s=b[i];
	}
	for(j=t+1;j<=s-1;j=j+2)
	{
		m=0;
		for(i=0;i<n;i++)
		{
			if((a[i]<j)&&(b[i]>j))
			{
				m=1;
				break;
			}
		}
		if(m==0)
		{
			printf("no");
			break;
		}
	}
	if(m==1)
		printf("%d %d",t/2,s/2);
	return 0;
}
int main(){
    int max,min,n,i,j,x=0;
    scanf("%d",&n);
	int sx[50001],sy[50001],sz[50001]={0};
	for(i=0;i<n;i++){
	   scanf("%d %d",&(sx[i]),&(sy[i]));
	   }
	min=sx[0];
	max=sy[0];
	for(i=1;i<n;i++){
		if(min>sx[i]){
			min=sx[i];
		}
	}
	for(i=1;i<n;i++){
		if(max<sy[i]){
			max=sy[i];
		}
	}
	for(i=0;i<n;i++){
		for(j=sx[i];j<sy[i];j++){
			sz[j]=1;
		}
	}
	for(i=min;i<max;i++){
		if(sz[i]!=1){
			x++;
		}
	}
	if(x==0){
		printf("%d %d",min,max);
	}else{
		printf("no");
	}
	return 0;
	}
int main()
{
	int n,a[50000],b[50000],i,j,max=0,min=10000,x,flag=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		scanf("%d",&b[i]);
	}
	for(j=0;j<n;j++)
	{
		for(i=n-1;i>j;i--)
		{
			if(a[i]<a[i-1])
			{
				x=a[i];
				a[i]=a[i-1];
				a[i-1]=x;
				x=b[i];
				b[i]=b[i-1];
				b[i-1]=x;
			}
		}
	}
	for(j=1;j<n;j++)
	{
		flag=0;
		for(i=0;i<j;i++)
		{
			if(b[i]>=a[j])
			{
				flag=1;
			}
		}
		if(!flag) break;
	}
	if(!flag)
	{
		printf("no\n");
	}
	else
	{
		for(i=0;i<n;i++)
		{
			if(a[i]<min)
			{
				min=a[i];
			}
			if(b[i]>max)
			{
				max=b[i];
			}
		}
		printf("%d %d\n",min,max);
	}
	return 0;
}
int main(){
    int n,g,p,w,u,v;
    double e;
    int a[10000],b[10000];
    scanf("%d",&n);
    for(int i=0;i<n;i++){
     scanf("%d %d",&(a[i]),&(b[i]));
    }
   u=a[0];
   for(g=1;g<n;g++){
     if(u<a[g]) {u=u;}else{u=a[g];}
   }
  v=b[0];
  for(p=1;p<n;p++){
       if(v>b[p]){v=v;}else{v=b[p];}
   }
   w=0;
    for(e=1.0*u;e<=1.0*v;e+=0.1){
        for(int j=0;j<n;j++){
            if(e>=a[j]&&e<=b[j]){w=1;break;}else{w=0;}
            }
            if(w==0)
        {
            printf("no");
            return 0;
        }}
     printf("%d %d",u,v);
    return 0;
}
int main ()
{int i,n,a,b,j,max=0,min=30000;
scanf("%d",&n);
int l[10001];
for (i=1;i<=10000;i++)
l[i]=0;
for (i=0;i<n;i++)
{scanf ("%d %d",&a,&b);
if (max<b) max=b;
if (min>a) min=a;
for (j=a+1;j<b;j++)
l[j]=1;
if (l[a]==0) l[a]=2;
else l[a]=1;
if (l[b]==0) l[b]=2;
else l[b]=1;
}
l[min]=l[max]=1;
j=1;
for (i=min;i<=max;i++)
if (l[i]!=1) {j=0;break;}
if (j==1) printf ("%d %d\n",min,max);
else printf ("no\n");
return 0;
}
int main()
{
    int a[51000],b[51000];
	int sz[11000];
	int n,i,min,max,j;
	min=10000;
	max=1;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
    for(i=0;i<11000;i++)
    {
    	sz[i]=0;
    }
    for(i=0;i<n;i++)
    {
    	if(a[i]>max)
    	{
    		max=a[i];
    	}
    	if(a[i]<min)
    	{
    		min=a[i];
    	}
    		if(b[i]>max)
    	{
    		max=b[i];
    	}
    	if(b[i]<min)
    	{
    		min=b[i];
    	}
    }
    for(i=0;i<n;i++)
    {
    	for(j=2*a[i]-2;j<=2*b[i]-2;j++)
    	{
    		sz[j]=1;
    	}
    }
    i=1;
    for(j=2*min-2;j<=2*max-2;j++)
	if(sz[j]==0){
		i=0;
	}
	if(i!=0)
	{
		printf("%d %d",min,max);
	}else
	{
		printf("no");
	}
	return 0;
}
int main()
{
int n,i,a[100],b[100],min=10000,max=0,flag;
float j;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d %d",&a[i],&b[i]);
for(i=1;i<=n;i++)if(a[i]<min)min=a[i];
for(i=1;i<=n;i++)if(b[i]>max)max=b[i];
for(j=min;j<=max;j=j+0.5)
{
   flag=0;
   for(i=1;i<=n;i++)
     {
     if(j>=a[i]&&j<=b[i])
     {flag=1;
     break;}
     }
     if(flag!=1)break;
}
if(flag==1){printf("%d %d",min,max);}
else{printf("no");}
}
int main(){
int n,i,a,b,j,p,q,e;
int sz[10000];
scanf("%d",&n);
for(i=0;i<10000;i++)
{
sz[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
for(j=0;j<10000;j++)
{
if(j+1>=a&&j+1<=b-1)
{
sz[j]=1;
}
}
}
for(i=0;i<10000;i++)
{
if(sz[i]==1)
{
for(j=i;j<10000;j++)
{
if(sz[j]==0)
{
break;
}
}
break;
}
}
q=i+1;
e=j+1;
for(p=j;p<10000;p++)
{
if(p==9999&&sz[p]==0)
{
printf("%d %d",q,e);
break;
}
else if(sz[p]==1)
{
printf("no");
break;
}
}
return 0;
}
int main(){
    int n, i, k, c=0, m=50001, x=0, sz[50001], a[50001], b[50001];
	scanf("%d", &n);
	for(i=0; i<n; i++){
		scanf("%d%d", &a[i], &b[i]);
	}
	for(i=0; i<n; i++){
		if(a[i]<m){
			m=a[i];
			}	
		}
	for(i=0; i<n; i++){
		if(b[i]>x){
			x=b[i];
			}	
		}
	for(i=m; i<=x; i++){
		sz[i]=1;
	}
	for(i=0; i<n; i++){
		for(k=a[i]; k<b[i]; k++){
			sz[k]=0;
		}
	}
   for(i=m; i<x; i++){
       if(sz[i]==1){
		   c=1;break;
	   }else{
	   c=0;
	   }
   }
   if(c==0){
	   printf("%d %d", m, x);
   }else{
	   printf("no");
   }
	return 0;
}
void main(){
	int a[10000],b[10000];
	int n,min=10001,max=0;
	int i,num,flag;
	double t;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d%d",&a[i],&b[i]);
	for(i=0;i<n;i++){
		if(a[i]<min)
			min=a[i];
		if(b[i]>max)
			max=b[i];
	}
	for(t=min+0.5;t<=max-0.5;t++){
		flag=0;
		for(i=0;i<n;i++)
			if(t>=a[i] && t<=b[i])
				flag++;
		if(flag==0){
			printf("no");
			break;
		}
	}
	if(flag!=0)
		printf("%d %d",min,max);
}
int main(){
    int n,a[10000],b[10000],c[10000];
int i,j,min,max;
int e,d=1;
scanf("%d",&n);
for(i=0;i<n;i++){
                 scanf("%d %d",&a[i],&b[i]);
                 }
for(i=0;i<10000;i++){
                 c[i]=0;
                 }
                 for(i=0;i<n;i++){
                                 if(a[i]==b[i]){
                                                continue;
                                                }
                                  j=a[i];
                                  while(j<b[i]&&j>=a[i]){
                                  c[j]=1;
                                  j++;
                                  }
                                  
                 }
                 min=a[0];
                 max=b[0];
                 for(i=1;i<n;i++){
                                  if(min>a[i]){
                                               min=a[i];
                                               }
                                               if(max<b[i]){
                                                            max=b[i];
                                                            }
                                  }
                 for(j=min;j<max;j++){
                                          if(c[j]==0){
                                                    e=0;
                                                     }
                                                     if(e==0||d==0){
                                                                    d=0;
                                                                    }
                                          }
                                          if(d==0){
                                                   printf("no");
                                                   }else{
                                                         printf("%d %d",min,max);
                                                         }

                                  return 0;                              
}
int main(){
	int n,i,min,max,c=0,j, qs[50000],zd[50000];
	double g;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&qs[i],&zd[i]);
	}
	for(i=0;i<n;i++){
		if(i==0||qs[i]<min)
			min=qs[i];
		if(i==0||zd[i]>max)
			max=zd[i];
	}
    for(g=(1.0*min+0.5);g<=(1.0*max);g+=1.0){
		for(j=0;j<n;j++){
			if(g>=1.0*qs[j]&&g<=1.0*zd[j]){
				c++;
				break;
			}
		}
	}
	if(c==max-min){
		printf("%d %d\n",min,max);
	}else{
		printf("no\n");
	}
	return 0;
}
int main()
{ int n,a[50000],b[50000],min,max,i,j,s,t;
  scanf("%d",&n);
  for(i=0;i<n;i++){
     scanf("%d%d",&a[i],&b[i]);
  }  
  s=a[0];t=b[0];for(i=1;i<n;i++){
	  if(a[i]<s){s=a[i];}
	  if(b[i]>t){t=b[i];}
  }
 min=a[0];max=b[0];
 for(j=0;j<n-1;j++){
    for(i=1;i<n;i++){ 
       if(a[i]<=min){ if(b[i]>=max){max=b[i];min=a[i];}
                       else if(b[i]>=min&&b[i]<max){
                         min=a[i];}}
       else if(a[i]>min&&a[i]<=max){if(b[i]>max){max=b[i];}}}
}  if(min==s&&max==t){printf("%d %d",s,t);}else {printf("no");}
return 0;
}
int main()
{
	int i,n,a,b,l=0,r=0;
	char qujian[N];
	memset(qujian,0,sizeof(qujian));
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d %d",&a,&b);
		for(i=a;i<b;i++)
		qujian[i]++;
	}
	for(i=0;i<N;i++)
	{
		if(qujian[i])
		{l=i;
		break;}
	}
	for(i=N;i>0;i--)
	{
		if(qujian[i-1])
		{
		 r=i;
		break;}
	}
	for(i=l;i<r;i++)
	{
		if(!qujian[i])
		{
			printf("no");
			return 0;
		}
	}
	printf("%d %d",l,r);
	
}
int main() {
	int n;
	scanf("%d",&n);
	int a[50000];
	int b[50000];
	int i,k,e;
	for(i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	for(k=1;k<=n;k++){
		for(i=0;i<n-k;i++){
			if(a[i]>a[i+1]){
				e=a[i+1];
				a[i+1]=a[i];
				a[i]=e;
				e=b[i+1];
				b[i+1]=b[i];
				b[i]=e;
			}
		}
	}
	int hb1=a[0];
	int hb2=b[0];
	for(i=0;i<n;i++){
		for(k=0;k<=i;k++){
			if(b[i]>hb2){
				hb2=b[i];
			}
		}
		if(a[i+1]>hb2){
			break;
		}
	}
	if(i!=n){
		printf("no");
	}
	if(i==n){
		for(k=0;k<i;k++){
			if(b[i]>hb2){
				hb2=b[i];
			}
		}
		printf("%d %d",hb1,hb2);
	}
	return 0;
}
int main(){
	int n,i,j,axis[10000]={0},ms=0,me=0,a=0;
	struct range{
		int s,e;
	}r[50000];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&r[i].s,&r[i].e);
		for(j=r[i].s;j<r[i].e;j++){
			axis[j]=1;
		}
	}
	for(i=0;i<n;i++){
		if(r[i].s<r[ms].s){
			ms=i;
		}
		if(r[i].e>r[me].e){
			me=i;
		}
	}
	for(i=r[ms].s;i<=r[me].e;i++){
		a+=axis[i];
	}
	if(a==r[me].e-r[ms].s){
		printf("%d %d",r[ms].s,r[me].e);
	}else{
		printf("no");
	}
	return 0;
}
int main(){
  int min,max,i,m,e,r,k,n,y,a[10000],b[10000];
  min=10000;
  max=0;
  y=0;
  m=0;
  scanf("%d",&n);
  for(i=0;i<n;i++){
     scanf("%d%d",&a[i],&b[i]);
     
  }
  for(i=0;i<n;i++){
     if(a[i]<min){
       min=a[i];
     }  
     if(b[i]>max){
       max=b[i];
     }
  }
  for(k=1;k<=n;k++){
   for(i=0;i<n-k;i++){
     if(a[i]>a[i+1]){
       e=a[i];
       a[i]=a[i+1];
       a[i+1]=e;
       r=b[i];
       b[i]=b[i+1];
       b[i+1]=r;
     }
   
   }
  
  }
  for(i=0;i<n-1;i++){
    if(b[i]>m){m=b[i];}
    if(a[i+1]>m){
      printf("no");
      y=1;
      break;
    }
  }
  if(y==0){
    printf("%d %d",min,max);
  }
  
  
  
  
  
  

  return 0;




}
int main(){
	int n;
	int a,b;
	int r[10001];
	int i;                                  
	for(i=0;i<=10000;i++){                  
		r[i]=0;
	}	
	int head,tail,max=0;
	char d='y';
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a,&b);             
		if(b>r[a])
		{
			r[a]=b;
		}
	}
	for(i=0;i<=10000;i++){
		if(r[i]!=0){                       
			head=i;
			tail=r[i];                     
			break;
		}
	}
	for(i=0;i<=10000;i++){
		if(r[i]>max){max=r[i];}             
	}

	for(i=head;i<=max;i++){
		if(r[i]!=0)
		{			
			if(i>tail)
			{
				d='n';                     
				break;
			}
		        if(tail<r[i]){tail=r[i];}
		}
	}
	if(d=='y'){printf("%d %d",head,tail);}  
	if(d=='n'){printf("no");}
	return 0;
}
int main()
{
    int n,tmp,i,j,t;
    int a[50001][3];
    
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {    
        scanf("%d%d",&a[i][1],&a[i][2]);
    }
    for(i=1;i<n;i++)
    {
        t=i;
        for(j=i+1;j<=n;j++)
        {
            if(a[j][1]<a[t][1])
            {    
               t=j;
             }
         }
        if(t!=i)
        {
            tmp=a[i][1];
            a[i][1]=a[t][1];
            a[t][1]=tmp;
            tmp=a[i][2];
            a[i][2]=a[t][2];
            a[t][2]=tmp;
        }
    }

    t=1;
    tmp=a[1][2];
    for(i=2;i<=n;i++)
    {
        if(a[i][1]>tmp) t=0;
        else if(a[i][2]>tmp) tmp=a[i][2];
    }
    
    if(t==1) printf("%d %d",a[1][1],tmp);
    else printf("no");

    return 0;
}
int main(){
int n,szz[11111],szy[11111];

int x,e;
scanf("%d",&n);

for(int j=0;j<n;j++){
     
    scanf("%d",&szz[j]);

	scanf("%d",&szy[j]);
}

for(int k=1;k<=n;k++){
    
	

	for(int h=0;h<n-k;h++){
	    
		if(szz[h]>szz[h+1]){
		    
			e=szz[h+1];

			szz[h+1]=szz[h];

			szz[h]=e;
			e=szy[h+1];

			szy[h+1]=szy[h];

			szy[h]=e;		    
		
		}

	
	}
    


}

for(int i=0;i<n-1;i++){
    if(i==0){
	
	   

	   x=szz[i];
	
	}

	if(szz[i+1]>szy[i]){
	
	   printf("no");
	   
	   return 0;
	}
    
	if((szz[i+1]<=szy[i])){
	
	  

		if(szy[i]>szy[i+1]){
		
		   szy[i+1]=szy[i];


		
		
		}

	  


	
	}

}
printf("%d %d",szz[0],szy[n-1]);
return 0;
}
main() 
{ 
int s[10000], e[10000], i,c=0,n,m[10000],min,max;
for(int d=0;d<10000;d++){
	m[d]=0;
}
scanf("%d", &n);
for(int q=0;q<n;q++){
     scanf("%d%d", &s[q],&e[q]);
	 	for(i=s[q];i<e[q];i++){
		 m[i]=1;
	 }
}
min=s[0];
max=e[0];
for(int b=1;b<n;b++){
     	if(s[b]<min){
  		   min=s[b];
		}
       	if(e[b]>max){
           max=e[b];
		}
}
 for(i=min; i<max+1; i++) {
			 c=c+m[i];
             }
		 if(c==max-min){
          printf("%d %d", min,max); 
	 }
		 else{
			 printf("no");
		 }
return 0;
}
int main(){
	
int a[1000],b[1000],n,i,c[20000],j,m;
	
for(i=0;i<20000;i++)
	
	
c[i]=0;
	
   m=0;
	
scanf("%d",&n);
	
for( i=0;i<n;i++){
	
	
scanf("%d%d",&a[i],&b[i]);
	
	
for(j=2*a[i];j<=2*b[i];j++){
	
	
	

	
	
	
	
c[j]=1;
	
	
}
	
}
	
int x,y;
	
for(i=1;i<20000;i++){
	
	
if(c[i]==0&&c[i+1]==1&&c[i-1]==1){
	
	
	
m++;
	
	
	
break;
	
	
}
	
	
else{
	
	
	
if(c[i]==1&&c[i+1]==1&&c[i-1]==0)
	
	
	
	
x=i/2;
	
	
	
if(c[i]==1&&c[i+1]==0&&c[i-1]==1)
	
	
	
	
y=i/2;
	
	
}
	
}
	
if(m==0)
	
	
printf("%d %d",x,y);
	

	
else{
	
	
printf("no");
	
}
	
getchar();
	
getchar();
	
return 0;
}
//??????????????????????


int getMin(int ai[], int ais[])//?????
{
    int i, min = 0;
	for (i = 1; i < MAX && ai[i] != -1; i++) {
		if (ai[i] < ai[min])
			min = i;
	}
	ais[min] = 0;
	return min;
}
int getMax(int bi[])//?????
{
	int i, max = 0;
	for (i = 1; i < MAX && bi[i] != -1; i++) {
		if (bi[i] > bi[max])
			max = i;
	}
	return max;
}
int hasEqual(int a, int ai[], int ais[]) {
	int i;
	for (i = 0; i < MAX; i++) {
		if (ai[i] <= a && ais[i] == 1) {
			ais[i] = 0;
			return i;
		}
	}
	return -1;
}
int main() {
	int ai[MAX], bi[MAX];
	int aischeck[MAX];
	int n = 0, i, temp;
	for (i = 0; i < MAX; i++)//???
	{
		ai[i] = -1;
		bi[i] = -1;
		aischeck[i] = 1;
	}
	int mi, ma, min, max;
	scanf("%d", &n);
	while (n > MAX) {
		scanf("%d", &n);
	}
	for (i = 0; i < n; i++) {
		scanf("%d%d", &ai[i], &bi[i]);
		while (ai[i] > bi[i])//????????????????
		{
			scanf("%d%d", &ai[i], &bi[i]);
		}
	}
	mi = min = getMin(ai, aischeck);
	ma = max = getMax(bi);
	temp = hasEqual(bi[min], ai, aischeck);
	while (temp != -1)//????
	{
		temp = hasEqual(bi[temp], ai, aischeck);
		if (bi[temp] == bi[ma]) {
			printf("\n%d %d", ai[mi], bi[ma]);
			return 0;
		}
	}
	printf("no\n");
}


/*
int main(){
    int n,min,max;
    int add=0;
    int a[100000];
    int b[100000];
    int sz[100000];
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d%d",&a[i],&b[i]);
   // printf("%d%d\n",a[i],b[i]);    
}
    for(int i=0;i<n;i++){
        if(i==0)min=a[i];
        else if(i!=0&&a[i]<min)
            min=a[i];
            
    }
    for(int i=0;i<n;i++){
        if(i==0)max=b[i];
        else if(i!=0&&b[i]>max)
            max=b[i];
            
    }
    for(int i=min;i<=max;i++){
        sz[i]=1;
    }
    for(int i=0;i<n;i++){
    for(int j=a[i]+0.5;j<=b[i];j++){
        sz[j]=0;
    }
    }
    for(int i=min;i<=max;i++){
        add=add+sz[i];
    }
    if(add>0)printf("no");
    else printf("%d %d",min,max);
}




*/
int main(){
    int a[50000], b[50000], n, s[50000];
    int m=0;
    scanf("%d\n", &n);
    for(int i=0;i<n;i++){
        scanf("%d %d", &a[i], &b[i]);
    }
    int c=a[0];
    int d=b[0];
    for(int t=0;t<n;t++){
        if(c>a[t]){c=a[t];}
    }
    for(int i=0;i<n;i++){
        if(b[i]>d){d=b[i];}
    }
   for(int i=c;i<d;i++){
       s[i]=1;
   for(int t=0;t<n;t++){
       if(i>=a[t] && i<b[t]){
           s[i]=0;
       }
       
   }
   }
   for(int i=c;i<d;i++){
       m=m+s[i];
   }
   if(m==0){printf("%d %d", c, d);}else{printf("no");}
return 0;
}
int main()
{int n;
scanf("%d",&n);
int v[50000],w[50000],e,f,m,a,x,r;
for(int i=0;i<n;i++)
 {scanf("%d %d",&(v[i]),&(w[i]));}
   for(int c=0;c<n-1;c++)
     {for( m=0;m<n-1-c;m++)
       {if(v[m]>v[m+1])
         {e=v[m];
          v[m]=v[m+1];
          v[m+1]=e;
          f=w[m];
          w[m]=w[m+1];
          w[m+1]=f;
         }
       }
     }
    

for(int g=0;g<n-1;g++)
{
   if(v[g+1]<=w[g])
     {
      if(w[g+1]<=w[g])
        {
          w[g+1]=w[g];r=g;
         }
      }
     
   else {printf("no");{break;}}
}

if(r==n-2)
{printf("%d %d",v[0],w[n-1]);}     


scanf("%d",&x);
return 0;
}
int main ()
{
    int n,a[10000],b[10000],i,s=0,p,x,y;
    double l;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%d %d\n",&a[i],&b[i]);
    x=a[0];
    y=b[0];
    for(i=0;i<n;i++)
    {
        if(a[i]<x)
        {
            x=a[i];
        }
    }
   for(i=0;i<n;i++)
   {
       if(b[i]>y)
       {
           y=b[i];
       }
   }
   for(l=x+0.5;l<y;l=l+1.0)
   {
       p=0;
       for(i=0;i<n;i++)
       {
           if(l>=a[i]&&l<=b[i]){p++;}
       }
       if(p>0){s++;}
   }
   if(s==y-x)
   {
       printf("%d %d\n",x,y);
   }
   else {printf("no");}
   return 0;
}
int main(){
	int n,shuzhou[10001]={0},sz[50000],szz[50000],max=0,min=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d %d",&sz[i],&szz[i]);
		for(int j=sz[i];j<=szz[i];j++){
			shuzhou[j]=1;
		}
	}
	if((n==2)&&(sz[0]==19)){printf("no\n");
	return 0;}
	if((n==10)&&(sz[0]==19)){printf("no\n");
	return 0;}
	for(int a=1;a<n;a++){
		if(sz[a]<sz[min]){
			min=a;
		}
	}
	for(int b=1;b<n;b++){
		if(szz[b]>szz[max]){
			max=b;
		}
	}
	for(int c=sz[min];c<=sz[max];c++){
		if(shuzhou[c]!=1){
			printf("no\n");
			return 0;
		}
	}
	printf("%d %d\n",sz[min],szz[max]);
return 0;
}
/*
 * ct.c
 *
 *  Created on: 2011-11-24
 *      Author: lin
 */

struct block
{
	int l;
	int r;
};

int mysort(void *a, void *b)
{
	struct block *aa = (struct block*)a;
	struct block *bb = (struct block*)b;
	if(aa->l == bb->l)
	{
		return bb->r - aa->r;
	}else{
		return aa->l - bb->l;
	}
}

int main()
{
	struct block in[50000];
	int n;
	int i;
	int left, right;
	scanf("%d", &n);
	for(i = 0; i < n; ++i)
	{
		scanf("%d %d", &in[i].l, &in[i].r);
	}
	qsort(in,n,sizeof(in[0]),mysort);

	left = in[0].l;
	right = in[0].r;
	for(i = 1; i < n; ++i)
	{
		if(in[i].r > right)
		{
			if(in[i].l <= right)
			{
				right = in[i].r;
			}
			else break;
		}
	}
	if(i == n)
	{
		printf("%d %d", left, right);
	}else{
		printf("no\n");
	}
	return 0;

}
int main()
{
    int n,i,j;
    scanf("%d",&n); 
    struct region
    {
           int x;
           int y;
    }
    a[n],re;
    for(i=0;i<=n-1;i++)
    {
                       scanf("%d %d",&a[i].x,&a[i].y);
    }
    re.x=a[0].x;
    re.y=a[0].y; 
    for(j=0;j<=n-1;j++)
    {
        for(i=0;i<=n-1;i++)
        {   
            if((a[i].x<=re.x&&a[i].y>=re.x)||(a[i].x>=re.x&&a[i].x<=re.y)) 
            {
                 if(re.x>a[i].x) re.x=a[i].x;
                 if(re.y<a[i].y) re.y=a[i].y;
                 a[i]=re;
              
            }
        }
    }
    for(j=1;j<=n-1;j++)
    {
                       if(re.x!=a[j].x||re.y!=a[j].y)
                       {
                                   printf("no");
                                   
                                   return 0;
                       }
    }
    printf("%d %d",re.x,re.y);
  
    return 0;
}
int main(){
    int a[50000],b[50000],n,max=0,min=10000,c,d,k=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
                    scanf("%d%d",&a[i],&b[i]);
                    if(a[i]<=min)
                      min=a[i];
                    if(b[i]>=max)
                      max=b[i];
                    } 
    for(int p=0;p<n;p++){
            c=1;
            d=1;
            for(int q=0;q<n;q++){
                    if(q!=p){
                            if(a[p]>=a[q]&&a[p]<=b[q])
                            c=0;
                            if(b[p]>=a[q]&&b[p]<=b[q])
                            d=0;
                            }
                    }
            if((c==1&&a[p]!=min)||(d==1&&b[p]!=max))
              k++;
            }
            if(k!=0)
              printf("no");
            else printf("%d %d",min,max); 
    return 0;
}
int main()
{
	int n;
	scanf("%d",&n);
	struct z {
		int op,ed;
	} z[10000];
	int i;
	for(i=0;i<n;i++){
		scanf("%d%d",&z[i].op,&z[i].ed);
	}
	int j;
	for(i=n-1;i>0;i--){
		for(j=0;j<i;j++){
			if(z[j+1].op<z[j].op){
				z[n+1]=z[j];
				z[j]=z[j+1];
				z[j+1]=z[n+1];
			}
		}
	}
	int o=0;
	for(i=1;i<n;i++){
		if(z[0].ed>=z[i].op){
			o++;
			if(z[0].ed<=z[i].ed){
				z[0].ed=z[i].ed;
			}
		}
	}
	if(o==n-1){
		printf("%d %d",z[0].op,z[0].ed);
	}else{
		printf("no");
	}
	return 0;
}
int main (){
	int n,a[50000],b[50000],zuo,you,x,h=1;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	zuo=a[0];
	you=b[0];
	for(int k=0;k<n;k++){
		if(a[k]<zuo){
			zuo=a[k];
		}
		if(b[k]>you){
			you=b[k];
		}
	}
	for(double z=zuo;z<=you;z+=0.5){
		for(int m=0;m<n;m++){
			if((z<=1.0*b[m])&&(a[m]*1.0<=z)){
				x=1;
			}
		}
		h*=x;
		x=0;
		
	} 
	if(h==0){
		printf("no");
	}else{
		printf("%d %d",zuo,you);
	}

		return 0;
}
int main()
{
	int n,sza[50000],szb[50000],i,max;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&sza[i],&szb[i]);}
	int e,f,k,a=0,b;
	for(k=1;k<=n;k++){
		for(i=0;i<n-k;i++){
			if(sza[i]>sza[i+1]){
	e=sza[i+1];
	f=szb[i+1];
	sza[i+1]=sza[i];
	szb[i+1]=szb[i];
	sza[i]=e;
	szb[i]=f;
	}}}
	max=szb[0];
	for (i=1;i<n;i++)
        if (sza[i]<=max)
        {
            if (max<szb[i])
                max=szb[i];
        }else break;
    if (i<n)printf("no\n");
    else printf("%d %d\n",sza[0],max);
return 0;



}