semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
   int n,i,j,k,t,p;
   int a[50000][2];
    t=0;
    p=20000;
  scanf("%d",&n);
  for(i=0;i<n;i++){
	  for(j=0;j<2;j++){
		  scanf("%d",&a[i][j]);
	  }
  }
  for(i=0;i<n;i++){
	  for(j=0;j<2;j++){
        if(t<a[i][j])  {t=a[i][j];}
		if(p>a[i][j])  {p=a[i][j];}
	  }
  }

   for(k=0;k<n;k++){
	  for(i=0;i<n-1;i++){
		  if(a[0][0]<=a[i+1][0]&&a[i+1][0]<=a[0][1]&&a[0][1]<=a[i+1][1])
		  {a[0][0]=a[0][0];
		  a[0][1]=a[i+1][1];
		  continue;}
             if(a[0][0]<=a[i+1][0]&&a[i+1][1]<=a[0][1])
			 {a[0][0]=a[0][0];
			 a[0][1]=a[0][1];
			 continue;}
                 if(a[i+1][0]<=a[0][0]&&a[0][1]<=a[i+1][1])
				 {a[0][0]=a[i+1][0];
				 a[0][1]=a[i+1][1];
				 continue;}
                    if(a[i+1][0]<=a[0][0]&&a[0][0]<=a[i+1][1]&&a[i+1][1]<=a[0][1])
					{a[0][0]=a[i+1][0];
					a[0][1]=a[0][1];
					continue;}
	  }
  }
if(a[0][0]==p&&a[0][1]==t)
{printf("%d %d",a[0][0],a[0][1]);}
else {printf("no\n");}
return 0;
}
int main()
{
    int a[50000];
    int b[50000];
    int i,n,k,e;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d %d",&(a[i]),&(b[i]));
    }
    for(k=1;k<=n-1;k++){
        for(i=1;i<=n-k;i++){
            if(a[i]>a[i+1]){
                e=a[i];
                a[i]=a[i+1];
                a[i+1]=e;
                e=b[i];
                b[i]=b[i+1];
                b[i+1]=e;
            }
        }
    }
    for(i=1;i<=n-1;i++){
        if(b[i]<a[i+1]){printf("no");return 0;}
        else{if(b[i]>=b[i+1]){a[i+1]=a[i];b[i+1]=b[i];}
        else{a[i+1]=a[i];}}
    }
    printf("%d %d",a[n],b[n]);
    return 0;
}
int main()
{
	int n,i,a[5000],b[5000],sum[10001]={0},max=0,min,c,d;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&a[i],&b[i]);
		c=a[i];
	    d=b[i];
		for(;c<d;c++)
			sum[c]=1;
	}
     min=a[0];
	for(i=0;i<n;i++){
        if(b[i]>max)
			max=b[i];
		if(a[i]<min)
			min=a[i];
	}
	for(i=min;i<max;i++){
		if(sum[i]==0){
			printf("no");
		     return 0;                                                    
		}
	}
	 printf("%d %d",min,max);
return 0;
}
int main()
{
	int n,i,j;
	int	max,min;
	int a[50001],b[50001];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
		if(i==0)
		{
			min=a[i];
			max=b[i];
		}
		else
		{
			if(a[i]<min)
				min=a[i];
			if(b[i]>max)
				max=b[i];
		}
	}
	for(j=min;j<max;j++)
	{
		for(i=0;i<n;i++)
		{
			if(j+0.0001>a[i]&&j+0.0001<b[i])
				break;
		}
		if(i==n)
		{
			printf("no");
			break;
		}
	}
	if(j==max)
		printf("\n%d %d\n",min,max);

	return 0;

}
int main(){
    int c,d,e,f,g,h,i,n,k,l;
    int a[10000];
    int b[10000];
    h=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d %d",&a[i],&b[i]);
    }
    for(c=1;c<n;c++){
        for(d=0;d<n-c;d++){
            if(a[d]>a[d+1]){
                e=a[d+1];
                a[d+1]=a[d];
                a[d]=e;
                l=b[d+1];
                b[d+1]=b[d];
                b[d]=l;
            }
        }
    }
    for(c=0;c<n-1;c++){
        f=0;
        for(g=0;g<c+1;g++){
        if(a[c+1]>b[g]){
            f++;
        }
        }
        if(f==c+1){
            h++;  
    }
    }
    for(c=1;c<n;c++){
        for(d=0;d<n-c;d++){
            if(b[d]>b[d+1]){
                e=b[d+1];
                b[d+1]=b[d];
                b[d]=e;
            }
        }
    }
    if(h==0){
        printf("%d %d",a[0],b[n-1]);
    }
    else{
        printf("no");}
        return 0;
    }
int main()
{
    int n;
    scanf("%d", &n);
    struct space{
        int a;
        int b;
    }s[n];
    for (int c=0; c<n; c++) {
        scanf("%d %d", &(s[c].a), &(s[c].b));
    }
    int j, r;
    for (j=1; j<n; j++) {
        int aa=s[j].a;
        int bb=s[j].b;
        for (r=j-1; r>=0; r--) {
            if (aa<s[r].a) {
                s[r+1].a=s[r].a;
                s[r+1].b=s[r].b;
                s[r].a=aa;
                s[r].b=bb;
            }
            else
            {
                s[r+1].a=aa;
                s[r+1].b=bb;
                break;
            }
        }
    }
    int max=0;
    for (int f=0; f<n; f++) {
        if (max<s[f].b) {
            max=s[f].b;
        }
    }
    int i=1;
    for (int g=1; g<n; g++) {
        if ((s[g].a<=s[g-1].b) && (g==!n-1) &&(i==1)) {
            continue;
        }else if ((s[g].a<=s[g-1].b) && (g==n-1)){
            break;
        }else if (s[g].a>s[g-1].b){
            for (int h=0; h<g; h++) {
                if (s[g].a<=s[h].b) {
                    break;
                }else if (s[g].a>s[h].b && h==g-1){
                    i=0;
                    break;
                }
            }
        }
    }
    if (i==0) {
        printf("no");
    }else if (i==1){
        printf("%d %d", s[0].a, max);
    }
    return 0;
}
int main(){
    int a,b,c,d,e;
    int x[60000],y[60000];
    scanf("%d",&a);
    for(b=1;b<=a;b++){
        scanf("%d %d",&(x[b]),&(y[b]));
    }
    for(e=1;e<a;e++){
      for(b=1;b<=a-e;b++){
        if(x[b]>x[b+1]){
            c=x[b];
            d=y[b];
            x[b]=x[b+1];
            y[b]=y[b+1];
            x[b+1]=c;
            y[b+1]=d;
           }
        }
    }
    for(b=1;b<a;b++){
      if(y[b]<x[b+1]){
       printf("no");
       break;
        }
    else if(b==a-1){
          if(y[b]>y[b+1]){
          d=y[b];
         y[b]=y[b+1];
         y[b+1]=d;
      }
      printf("%d %d",x[1],y[a]);}
       else if(y[b]>y[b+1]){
          d=y[b];
         y[b]=y[b+1];
         y[b+1]=d;
      }
}
    return 0;
}
int main()
{
	int i,j,n,c1,c2,min,max,t=0;
	int a[50000],b[50000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d%d",&a[i],&b[i]);
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-1;j++)
		{
			if(a[j]>a[j+1])
			{
				c1=a[j+1];
				a[j+1]=a[j];
				a[j]=c1;
				c2=b[j+1];
				b[j+1]=b[j];
				b[j]=c2;
			}
		}
	}
	min=a[0];
	max=b[0];
	for(i=1;i<n;i++)
	{
		if(max<a[i])
		{
			t++;
		}else if(max<b[i])
		{
			max=b[i];
		}
	}
	if(t>0)
	{
		printf("no");
	}else{
		printf("%d %d",min,max);
	}
	return 0;
}
int main(){
    int n,i,k,t,p,m,q,a;
    a=0;
    scanf("%d",&n);
    struct l{
        int x,y;
    }l[n],e;
    for(i=0;i<n;i++){
        scanf("%d%d",&(l[i].x),&(l[i].y));
    }
    for(k=1;k<n;k++){
        for(i=0;i<n-k;i++){
            if(l[i].x>l[i+1].x){
                e=l[i];
                l[i]=l[i+1];
                l[i+1]=e;
            }
        }
    }
    m=0;
    for(t=0;t<n;t++){
        if(l[t].y>l[m].y){
            m=t;
        }
    }
    for(q=1;q<n;q++){
        for(p=0;p<q;p++){
             if(l[p].y>=l[q].x){
                  break;
             }
             if(p==q-1&&l[p].y<l[q].x){
                 a=1;
                 
             }
        }
    }
    if(a==0){
            printf("%d %d",l[0].x,l[m].y);
    }
    else{
        printf("no");
    }
    //lp:printf("e%d %d",q,p);
    return 0;
}
int main(){
   int n,a[50000],b[50000],c[10000],i,j,s,min,max;
   scanf("%d\n",&n);
   for(i=0;i<n;i++){
      scanf("%d %d\n",&a[i],&b[i]);
   }
   min=a[0];
   for(i=0;i<n;i++){
      if(a[i]<min){
         min=a[i];
      }
   }
   max=b[0];
   for(i=0;i<n;i++){
      if(b[i]>max){
         max=b[i];
      }
   }
   for(i=min*2;i<=max*2;i++){
      c[i]=1;
   }
   for(i=0;i<n;i++){
      for(j=min*2;j<=max*2;j++){
         if(j/2>=a[i]&&1.0*j/2<=b[i]){
            c[j]=0;
         }
      }
   }
   for(i=min*2,s=0;i<=max*2;i++){
      s+=c[i];
   }
   if(s==0){
      printf("%d %d",min,max);
   }else{
      printf("no");
   }
   return 0;
}
int main(){ 
	int n,a[50000],b[50000],i,j,m; 
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&a[i],&b[i]); 
} 
	for(i=0;i<n;i++){
		for(j=0;j<n-1-i;j++){
			if(a[j]>a[j+1]){
				m=a[j]; 
				a[j]=a[j+1]; 
				a[j+1]=m; 
				m=b[j]; 
				b[j]=b[j+1]; 
				b[j+1]=m; 
} 
} 
} 
	for(i=0;i<n-1;i++){ 
		if(b[i]<a[i+1]){
			printf("no");
			break; 
} else if(b[i+1]<b[i]){
			m=b[i]; 
			b[i]=b[i+1]; 
			b[i+1]=m;
 } 
} 
	if(i==n-1){
		printf("%d %d",a[0],b[n-1]); 
} return 0;
 }
int main()
{
	int n,i,j,max=0,t=0,k=0,min,e,f;
	scanf("%d",&n);
    struct point
	{
	    int x,y;
	}p[N];
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&p[i].x,&p[i].y);
	}
	min=p[0].x;
	for(j=1;j<=n;j++)
	{
		for(i=0;i<n-j;i++)
		{
			if(p[i].x>p[i+1].x)
			{
				e=p[i].x;
                p[i].x=p[i+1].x;
				p[i+1].x=e;
				f=p[i].y;
				p[i].y=p[i+1].y;
				p[i+1].y=f;
			}
		}
	}
	for(i=0;i<n;i++)
	{
		if(p[i].y>max)
		{
			max=p[i].y;
		}
		if(p[i].x<min)
		{
			min=p[i].x;
		}
	}
	for(i=1;i<n;i++)
	{
		t=0;
		for(j=0;j<n-1;j++)
		{
			if(p[i].x>p[j].y){t=t+1;}
		}
		if(t==i){k=k+1;}
	}
	if(k>=1){printf("no");}
	else {printf("%d %d",min,max);}
	return 0;
}
int main(){
    int sz[50000][2],n,row,col,i,e,k;
	scanf("%d",&n);
	for(row=0;row<n;row++){
		for(col=0;col<2;col++){
			scanf("%d",&sz[row][col]);
		}
	}
	for(i=0;i<n;i++){
		for(row=0;row<n-1;row++){
			if(sz[row][0]>sz[row+1][0]){
				e=sz[row][0];
				sz[row][0]=sz[row+1][0];
				sz[row+1][0]=e;
				e=sz[row][1];
				sz[row][1]=sz[row+1][1];
				sz[row+1][1]=e;
			}
		}
	}
	k=0;
	for(row=0;row<n-1;row++){
		if(sz[row][1]<sz[row+1][0]){
			printf("no");
			k=1;
			break;
		}
		if(sz[row][1]>sz[row+1][1]){
			e=sz[row][1];
			sz[row+1][1]=sz[row][1];
			sz[row][1]=e;
		}
	}
	if(k==0){
		printf("%d %d",sz[0][0],sz[n-1][1]);
	}
	return 0;
}
int main(){
    int n,i,e;
    double d;
    scanf("%d\n",&n);
    int ai[n],bi[n];
    for(i=0;i<n;i++){
        scanf("%d %d",&(ai[i]),&(bi[i]));
    }
    int AI[n],BI[n];
    for(i=0;i<n;i++){
        AI[i]=ai[i];
        BI[i]=bi[i];
    }
    for(i=n-2;i>=0;i--){
        if(AI[i+1]<AI[i]){
            e=AI[i+1];
            AI[i+1]=AI[i];
            AI[i]=e;
        }
    }
    for(i=0;i<n-1;i++){
        if(BI[i]>BI[i+1]){
            e=BI[i+1];
            BI[i+1]=BI[i];
            BI[i]=e;
        }
    }
    for(d=AI[0]+0.5;d<BI[n-1];d++){
        for(i=0;i<n;i++){
            if(d>ai[i]&&d<bi[i]){
                break;
            }
        }
        if(i==n){
            printf("no");
            break;
        }
    }    
    if(d>BI[n-1]){
        printf("%d %d",AI[0],BI[n-1]);
    }
    return 0;
}
int main()
{
	int n,i,j,a[50000],b[50000],e;//n>=3&&n<=50000
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);//a[i]>0&&a[i]<=10000,b[i]>0&&b[i]<=10000
	}
	for(i=1;i<=n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(a[j]>a[j+1])
			{
				e=a[j];
				a[j]=a[j+1];
				a[j+1]=e;
				e=b[j];
				b[j]=b[j+1];
				b[j+1]=e;
			}
		}
	}
	e=0;
	for(i=0;i<n;i++)
	{
		if(b[i]>=a[i+1])
		{
			a[i+1]=a[i];
			if(b[i+1]<b[i])
			{
				b[i+1]=b[i];
			}
		}
		else
		{
			e=1;
			break;
		}
	}
	if(e==1)
	{
		printf("no");
	}
	else
	{
		printf("%d %d",a[n-1],b[n-1]);
	}
	return 0;
}
int main(){
	int n;
	int x[10000],y[10000];
	scanf("%d",&n);
	int i;
	for(i=0;i<n;i++){
		scanf("%d%d",&x[i],&y[i]);
	}
	int a=x[0],b=y[0];
	int p,q;
	for(i=1;i<n;i++){
		if(a>x[i]){
			a=x[i];
		}
		if(b<y[i]){
			b=y[i];
		}
	}
	double w;
	int k,l=0;
	for(w=1.0*a+0.5;w<b;w++){
		for(k=0;k<n;k++){
			if(w>x[k]&&w<y[k]){
				break;
			}
			l++;
		}
		if(l==n){
			printf("no");
			return 0;
		}
		l=0;
	}
	printf("%d %d",a,b);
	return 0;
}
int main()
{
  int i,j,a=0,b=0,c[50000],n,m[50000],x=0,y=10000,z;
  double q;
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {scanf("%d ",&c[i]);
   scanf("%d",&m[i]);
  }
  for(i=0;i<n;i++)
  {if(c[i]<=y)
     y=c[i];
    if(m[i]>=x)  x=m[i];
   }
  for(i=y;i<x;i++)
  { for(j=0;j<n;j++)
    {if(i+0.5>=c[j]&&i+0.5<=m[j])
      break;
      }if(j==n) break;}
  if(i==x)  printf("%d %d",y,x);
    else printf("no");
return 0;
}
int main(){
	int n;
	scanf("%d",&n);
	struct point{
		int x,y;
	}sz[50000];
	for(int i=0;i<n;i++){
		scanf("%d%d",&sz[i].x,&sz[i].y);
	}
	int i,p,q;
	for(int k=1;k<n;k++){
	  for(i=0;i<n-k;i++){
		 if(sz[i].x>sz[i+1].x){
			 p=sz[i].x;
			 sz[i].x=sz[i+1].x;
			 sz[i+1].x=p;
		 }
		 if(sz[i].y>sz[i+1].y){
			 q=sz[i].y;
			 sz[i].y=sz[i+1].y;
			 sz[i+1].y=q;
		 }
	  }
	}
	for(i=0;i<n-1;i++){
		if(sz[i].y<sz[i+1].x){
			printf("no");
			return 0;
		}
	}
	printf("%d %d",sz[0].x,sz[n-1].y);
	return 0;
}
int main()
{
    int n;
    scanf("%d",&n);
    int a[50000],b[50000];
    for(int i=0;i<n;i++){
        scanf("%d %d",&a[i],&b[i]);
    }
    int k,e;
    for(k=1;k<=n;k++){
        for(int 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 left,right;
    left=a[0];
    int m=0;
    for(int i=0;i<n-1;i++){
        if(a[i+1]<=b[i]){
            m++;
            if(b[i]>b[i+1]){
                b[i+1]=b[i];
            }
        }
    }
    right=b[n-1];
    if(m==n-1){
        printf("%d %d",left,right);
    }
    else{
        printf("no");
    }
    return 0;
}
int main()
{
    struct 
    {
       int a;
       int b;	
    }
    a[100],x;
    int j,n,i,flag=1;
    scanf("%d\n",&n);
    for(i=0;i<n;i++)
    {
      scanf("%d%d",&a[i].a,&a[i].b);	
    }
    x=a[0];
    a[0].a=0;
    a[0].b=0;
    for(j=1;j<n;j++)
    {
    	for(i=0;i<n;i++)
    	{
    	   if(x.a>=a[i].a&&x.a<=a[i].b&&x.b>=a[i].b)
    	   {
    	     x.a=a[i].a;
    	     a[i].a=0;
    	     a[i].b=0;
    	     break;  	 
    	   }
    	   else if(x.a>=a[i].a&&x.b<=a[i].b)
    	   {
    	   	 x.a=a[i].a;
    	   	 x.b=a[i].b;
    	     a[i].a=0;
    	     a[i].b=0;
    	     break;  	
    	   }
    	   else if(x.a<=a[i].a&&x.b>=a[i].a&&x.b<=a[i].b)
    	   {
    	   	 
    	   	 x.b=a[i].b;
    	     a[i].a=0;
    	     a[i].b=0;
    	     break;  	
    	   }
    	   else if(x.a<=a[i].a&&x.b>=a[i].b)
    	   {
    	   	 
    	     a[i].a=0;
    	     a[i].b=0;
    	     break;  	
    	   }
    	   	    
    	   	 
    	}
      
    }
    for(i=0;i<n;i++)
    {
      if(a[i].a!=0||a[i].b!=0)	
        flag=0;
    }
    if(flag)
       printf("%d %d",x.a,x.b);
      else
        printf("no");
    return 0;
    
}
int main(){
	int array[10000],i,n,ai,bi,head,tail,sum=0;
	scanf("%d",&n);
	for (i=0;i<10000;i++)
		array[i]=0;
	for (i=0;i<n;i++)
		{	
		scanf("%d%d",&ai,&bi);
		array[ai]++;
		array[bi]--;
		}
	ai=0;
	bi=0;
	while (array[ai]==0)
		ai++;
	sum=sum+array[ai];
	head=ai;
	ai++;
	while (sum>0)
		{
		sum+=array[ai];
		ai++;
		}
	tail=ai-1;
	for (i=ai;i<10000;i++)
		if (array[i]>0)
			{
			printf("no");
			bi=1;
			break;
			}
	if (bi==0)
		printf("%d %d",head,tail);
	return 0;
}
int main (){
int n,i,j,k,h,l;
scanf("%d",&n);
int a[10001],b[10001],c[10001];
for(j=0;j<10001;j++){
                     c[j]=0;
                     }
for(i=0;i<n;i++){
                 scanf("%d %d",&(a[i]),&(b[i]));
                 if(i>0){
                         if(b[i]>b[i-1]){
                                         k=b[i];
                                         }}
                 else{k=b[0];}
    for(j=(a[i]);j<b[i];j++){
                            c[j]=1;
                            }
                            }
    for(j=0;j<=10001;j++){
                          if(c[j]==1){
                                     h=j;
                                     for(j=j;j<=k;j++){ 
                                                      if(j==k-1){
                                                             
                                                              printf("%d %d",h,k);
                                                              goto x;
                                                              }
                                                      if(c[j]==0){
                                                                 printf("no");
                                                                 goto x;
                                                                 }
                                                        }
                                     }
                           }x:
                                     return 0;
                                     }
int main(){
	int i,n,k;
	scanf("%d",&n);
	int sz[20001];
	int ddz[500000];
	int ddy[500000];
	for(i=0;i<20001;i++){
		sz[i]=1;
	}

	for(i=0;i<n;i++){
		scanf("%d %d",&ddz[i],&ddy[i]);
	}
	for(i=0;i<n;i++){
		for(k=2*ddz[i];k<2*ddy[i]+1;k++){
			sz[k]=0;
		}
	}
    int a;
	for(i=0;i<n;i++){
		for(k=0;k<n-1;k++){
			if(ddz[k]>ddz[k+1]){
				a=ddz[k+1];
				ddz[k+1]=ddz[k];
				ddz[k]=a;
			}
		}
	}
	for(i=0;i<n;i++){
		for(k=0;k<n-1;k++){
			if(ddy[k]>ddy[k+1]){
				a=ddy[k+1];
				ddy[k+1]=ddy[k];
				ddy[k]=a;
			}
		}
	}
	a=0;
	for(i=2*ddz[0];i<=2*ddy[n-1];i++){
		if(sz[i]!=0){
			a++;
		}
	}
	
	if(a>0){
		printf("no");
	}else{
		printf("%d %d",ddz[0],ddy[n-1]);
	}
	return 0;
}
int main()
{
    int n,i,j,a[N],b[N],c[N],max=0,min;
    scanf("%d\n",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d %d",&a[i],&b[i]);
        if(b[i]>max){max=b[i];}
    }
    min=max;
    for(i=0;i<n;i++){if(a[i]<min){min=a[i];}}
    for(i=0;i<n;i++)
    {
        a[i]-=min;
        b[i]-=min;
    }
    for(i=0;i<max-min;i++){c[i]=0;}
    for(i=0;i<n;i++)
    {
        for(j=a[i];j<b[i];j++){c[j]=1;}
    }
    for(i=0;i<max-min;i++)
    {
        if(c[i]==0){printf("no");break;}
        if(i==(max-min-1)&&c[i]!=0){printf("%d %d",min,max);}
    }
    return 0;
}
int main()
{
	int n,i,j,shuzhou[20002],a[500],b[500],max=0,min=10000,p=0;
	for(i=0;i<20002;i++)
	{
		shuzhou[i]=1;
	}
	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(i=0;i<n;i++)
	{
		for(j=0;j<20002;j++)
		{
			if(2*a[i]<=j&&b[i]*2>=j)
			{
				shuzhou[j]=0;
			}
		}
	}
	for(i=min*2;i<=max*2;i++)
	{
		if(shuzhou[i]==1)
		{
			p++;
		}
	}
	if(p!=0)
	{
		printf("no");
	}
	if(p==0)
	{
		printf("%d %d",min,max);
	}
	return 0;
}
int main(){
    int n,k,i,j,x;
    int a,b;
    int s=0;
    int sz[50001],szz[50001];
    scanf("%d",&n);
    for(i=0;i<n;i++){
                      scanf("%d%d",&sz[i],&szz[i]);
                      }
    for(k=1;k<=n;k++){
                      for(i=0;i<n-k;i++){
                                         if(sz[i]>sz[i+1]){
                                                           a=sz[i];
                                                           sz[i]=sz[i+1];
                                                           sz[i+1]=a;
                                                           b=szz[i];
                                                           szz[i]=szz[i+1];
                                                           szz[i+1]=b;
                                                           }
                                                           }
                                                           }
     for(i=0;i<n-1;i++){
                        if(sz[i+1]<=szz[i])
                           s+=1;
                        else {
                             for(j=0;j<i;j++){
                                              if(sz[i+1]<=szz[j])
                                                  s+=1;
                                                  }
                                                  }
                           }
    for(k=1;k<=n;k++){
                      for(i=0;i<n-k;i++){
                                         if(szz[i]>szz[i+1]){
                                                             x=szz[i];
                                                             szz[i]=szz[i+1];
                                                             szz[i+1]=x;
                                                             }
                                                             }
                                                             }
    if(s==n-1){
             printf("%d %d",sz[0],szz[n-1]);
             }
    else{
         printf("no");
         }
   
    
     return 0;
     }
int main(){
	int a[10010]={0};
	int n,i,j,le,ri,st,en,bo=1;
	scanf("%d",&n);
	scanf("%d %d",&le,&ri);
	for(i=le;i<ri;i++){
		a[i]=1;
	}
	for(i=1;i<=n-1;i++){ 
			scanf("%d %d",&st,&en);
		if(st<le){
			le=st;
		}
		if(en>ri){
			ri=en;
		}
		for(j=st;j<en;j++){
	         	a[j]=1;
			}
		}
	for(i=le;i<ri;i++){
		if(a[i]==0){
			bo=0;
			break;
		}
	}
	if(bo==0){
		printf("no");
	}else{
		printf("%d %d",le,ri);
	}
	return 0;
}
int main(){
  int n,a[M][2],i;
  scanf("%d",&n);
  for(i=0;i<n;i++){
	  for(int j=0;j<2;j++){
        scanf("%d",&(a[i][j]));
	  }
  }
  int k,l,e;
  for(k=1;k<=n;k++){
	  for(l=0;l<(n-k);l++){
		  if(a[l][0]>a[l+1][0]){
            e=a[l][0];
			a[l][0]=a[l+1][0];
			a[l+1][0]=e;
			e=a[l][1];
			a[l][1]=a[l+1][1];
			a[l+1][1]=e;
		  }
	  }
  }
  int qj[2];
  qj[0]=a[0][0];
  qj[1]=a[0][1];
  for(k=1;k<n;k++){
	  if(a[k][0]>qj[1]){
        printf("no");
        break;
	  }
	  else if(a[k][0]==qj[1]){
        qj[1]=a[k][1];
	  }
	  else if(a[k][0]<qj[1]){
		  if(a[k][1]>qj[1]){
            qj[1]=a[k][1];
		  }
	  }
	  if(k==(n-1)&&(a[k][0]<=qj[1])){
        printf("%d %d",qj[0],qj[1]);
	  }
  }
  
return 0;
}
main()
{
	int N,i,j,head,tail,flag,maxr;
	int a,b;
	int r[10002];

	scanf("%d\n",&N);

	for (i=0;i<10001;i++)
		r[i]=0;

	maxr=0;
	for (i=0;i<N;i++)
	{
		scanf("%d%d\n",&a,&b);
		if (r[a]<b) r[a]=b; 
		if (maxr<b) maxr=b;
	}

	i=1;
	while (r[i]==0) i++;
	head=i;tail=r[i];

	flag=0;
	for (i=1;i<=maxr;i++)
	{
		if (tail<i) break;
		if (r[i]>tail) tail=r[i];
	}
	if (tail==maxr) flag=1;
	if (flag==0) 
	{
		printf("no");
	}
	if (flag==1)
	{
		printf("%d %d\n",head,tail);
	}
	getchar();
	scanf("%d\n",&N);
}
struct qj{
	int a,b;
}q[50001];
int main() 
{ int n,i,j,m,z;
  scanf("%d",&n);
  for(i=0;i<n;i++){
	  scanf("%d %d",&q[i].a,&q[i].b);
  }
  for(i=n;i>1;i--){
	  for(j=0;j<i-1;j++){
		  if(q[j].a>q[j+1].a){
			  z=q[j+1].a;
			  q[j+1].a=q[j].a;
			  q[j].a=z;
			  z=q[j+1].b;
			  q[j+1].b=q[j].b;
			  q[j].b=z;
		  }
  }}
  i=0;
  m=q[0].b;
  while(i<n-1){
	  if(m<q[i+1].a){
		  printf("no");
		  return 0;
	  }
	  else{
		  if(q[i+1].b>m){
			  m=q[i+1].b;
		  }
	  }
	  i+=1;
  }
  printf("%d %d",q[0].a,m);
  return 0;
}
int main()
{
    int n,a[50000],b[50000],min,max,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%d%d",&a[i],&b[i]);
    min=a[0];
    max=b[0];
    for(i=0;i<n;i++)
    if(a[i]<min) min=a[i];
    for(i=0;i<n;i++)
    if(b[i]>max) max=b[i];
    for(i=min;i<=max;i++)
     {
         for(j=0;j<n;j++)
         {
             if(i>=a[j]&&i<=b[j])
                break;
		 
		 
		 }
         if(j==n)  {printf("no");break;}
	 }
    if(i==max+1)  
    {
       for(i=min;i<max;i++)
     {
         for(j=0;j<n;j++)
         {
             if(i+0.5>=a[j]&&i+0.5<=b[j])
                break;
		 
		 
		 }
         if(j==n)  {printf("no");break;}
	 
	}}
	if(i==max) printf("%d %d",min,max);
    return 0;
}
int main(){
    int n,i,k,e,z,q,w,c;
    scanf("%d",&n);
    struct qj{
        int a;
        int b;
    }qj[50000];
    for(i=0;i<n;i=i+1){
        scanf("%d%d",&qj[i].a,&qj[i].b);
    }
    for(k=1;k<=n;k=k+1){
        for(i=0;i<n-k;i=i+1){
            if(qj[i].a>qj[i+1].a){
                qj[n]=qj[i+1];
                qj[i+1]=qj[i];
                qj[i]=qj[n];
            }
        }
    }
    z=0;
    for(i=1;i<n;i=i+1){
        z=0;
        for(c=0;c<i;c=c+1){
            if(qj[i].a<=qj[c].b){
                z=1;
            }
        }
        if(z==0)break;
    }
    q=qj[0].a;
    w=qj[0].b;
    for(i=0;i<n;i=i+1){
        if(qj[i].a<q){
            q=qj[i].a;
        }
        if(qj[i].b>w){
            w=qj[i].b;
        }
    }
    if(z==0){
        printf("no");
    }else{
        printf("%d %d",q,w);
    }
    return 0;
}
int main(){
    int n,i,j,a,b,c=0;
    scanf("%d",&n);
    int sz[100004];
	for(i=0;i<100004;i++){
	    sz[i]=0;
	}
	for(i=0;i<n;i++){
	    scanf("%d%d",&a,&b);
		for(j=2*a;j<=2*b;j++){
			sz[j]=1;
		}
	}
	for(i=0;i<100004;i++){
		if(sz[i]==1){
			if(sz[i-1]==0){
			    a=i/2;
			    c++;
			}
			if(sz[i+1]==0){
			    b=i/2;
			}
		}
	}
	if(c==1){
        printf("%d %d\n",a,b);
    }else{
	    printf("no\n");
	}
	return 0;
}