semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
    int q[10000];
    int m[10000];
    int h,i,a,b,p,s,j,o,k;
    double l;
    scanf("%d",&h);
    i=0;
    s=0;
    for(i=0;i<h;i++){
        scanf("%d%d",&q[i],&m[i]);
       
    }
    a=q[0];
    b=m[0];
    for(o=0;o<h;o++){
        if(q[o]<a)a=q[o];}
    for(k=0;k<h;k++){
        if(m[k]>b)b=m[k];
        }
        for(l=a+0.5;l<b;l++){
            p=0;
        for(j=0;j<h;j++){
            if(l>=q[j]&&l<=m[j]){
            p++;}}
            if(p>0){s++;}
            
        
    }
    if(s==b-a){
        printf("%d %d",a,b);}
        else {printf("no");}
        return 0;
    }
int main(){
int t[50001][2];
int r[10001];
int n,k,i,j,x,y,sum=1;
for(i=0;i<10001;i++){
	r[i]=0;
}
scanf("%d",&n);
for(i=0;i<n;i++){
	for(j=0;j<2;j++){
	scanf("%d",&t[i][j]);
	}
	for(k=t[i][0];k<t[i][1];k++){
		r[k]=1;
	}
}
for(i=0;i<10001;i++){
	if(r[i]==1){
	   x=i;
	   break;
	   }
}
for(i=10000;i>0;i--){
	if(r[i]==1){
	   y=i;
	   break;
	   }
}
for(i=x;i<y;i++){
       sum=sum*r[i];
 }
if(sum==1)
printf("%d %d",x,y+1);
else
printf("no");
return 0;
}
int main(){
   int n;
   int s=1;
   int qj[50000][2];
   scanf("%d",&n);
   for(int i=0;i<n;i++){
       for(int t=0;t<2;t++){
	       scanf("%d",&qj[i][t]);
	   } 
   }
   for(int k=1;k<=n;k++){
	   for(int b=0;b<n-k;b++){
		   int e,r;
		   if(qj[b][0]>qj[b+1][0]){
		      e=qj[b][0];r=qj[b][1];
			  qj[b][0]=qj[b+1][0];qj[b][1]=qj[b+1][1];
			  qj[b+1][0]=e; qj[b+1][1]=r;
		   }
	   }
   
   }
   for(int p=0;p<n-1;p++){
       if(qj[p+1][0]>qj[p][1]){
	      s=0;
	   }
	   else{
		   if(qj[p][1]>qj[p+1][1]){
		      qj[p+1][1]=qj[p][1];
		   }
	   }
   }
   if(s==0){printf("no");}
   else{
	   printf("%d ",qj[0][0]);
	   for(int q=1;q<=n;q++){
	       int f;
		   for(int u=0;u<n-q;u++){
			   if(qj[u][1]<qj[u+1][1]){
			      f=qj[u][1];
				  qj[u][1]=qj[u+1][1];
				  qj[u+1][1]=f;
			   }

		   }

	   }
	   printf("%d",qj[0][1]);
   }
   return 0;


}
int main()
{
    int aa[10001],i,n,a,b,j,a1,a2,s=0,max,bb[10001],min;
    scanf("%d",&n);
    min=10000;max=0;
    for (i=0;i<10001;i++) aa[i]=0;
    for (i=0;i<n;i++)
     {scanf("%d%d",&a,&b);
     if (a<min) min=a;
     if (b>max) max=b;
     for (j=a;j<b;j++)  aa[j]=1;}
     for (i=min;i<=max;i++)
      if (aa[i]==1) s++; else
          { 
            a1=i;
            a2=i-s;
         
           break;
          }
          if ((max-min)!=s)  printf("no"); else
        printf("%d %d",a2,a1);
        return 0;
}
int main() {
    int n,i,m,max,min,p,s=0 ;
    double x;
    scanf("%d",&n);
    int zdd[n],ydd[n] ;
    for(i=0;i<n;i++) {scanf("%d %d",&zdd[i],&ydd[i]);}
    min=zdd[0] ;max=ydd[0] ;
        for(i=0;i<n;i++) {
            if(zdd[i]<min) {
                min=zdd[i];
            }
            if(max<ydd[i]) {
                max=ydd[i];
        }
    } 
    int y[max] ;
    for(i=min;i<max;i++) {
        y[i]=1 ;
    }
    for(x=min+0.5;x<=max;x++) {
        p=0 ;
        for(i=0;i<n;i++) {
        if((x>=zdd[i])&&(x<=ydd[i])){
            p++ ;
        } }
        if(p>0) {s++;}
    }
    if(s==max-min) {printf("%d %d",min,max); }
    else {printf("no");}
    return 0;
}
int main(){
    int a[50000],b[50000],s[50000]={0},u[50000]={0},v[50000]={0};
    int n,i,j,x,y,m=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d%d",&a[i],&b[i]);
        u[a[i]]=1;
        v[b[i]]=1;
        for(j=a[i]+1;j<b[i];j++)
            s[j]=1;
    }
    for(i=0;i<50000;i++){
        if(u[i]==1&&v[i]==1)
            s[i]=1;
    }
    for(i=0;i<n-1;i++){
        if(a[i]<a[i+1]){
            j=a[i];
            a[i]=a[i+1];
            a[i+1]=j;
        }
    }
    s[a[n-1]]=1;
    for(i=0;i<n-1;i++){
        if(b[i]>b[i+1]){
            j=b[i];
            b[i]=b[i+1];
            b[i+1]=j;
        }
    }
    s[b[n-1]]=1;
    for(i=0;i<10001;i++){
        if(s[i]==1&&m==0){
            x=i;
            m=1;
        }
        if(m==1){
            if(s[i]==0){
                y=i-1;
                m=2;
            }
        }
        if(m==2){
            if(s[i]==1){
                m=3;
            }
        }
    }
    if(m==2){
        printf("%d %d",x,y);
    }
    else
        printf("no");
    return 0;
}
int main(){
    int i,z=10000,qj[50000][2],y=0,n,k=0,m=0;
    double s;
    scanf("%d",&n);
    for(i=0;i<n;i++){
                     scanf("%d%d",&(qj[i][0]),&(qj[i][1]));
                     if(qj[i][0]<z)
                     z=qj[i][0];
                     if(qj[i][1]>y)
                     y=qj[i][1];
                     }
    for(s=z;s<=y;s+=0.5){
                         for(i=0;i<n;i++){
                                          if((s>=qj[i][0])&&(s<=qj[i][1]))
                                          k++;
                                          }
                         if(k==0){
                         m++;
                         }
                         k=0;
                         }
    if(m!=0){
             printf("no");
             }else{
                   printf("%d %d",z,y);
                   }

                   return 0;
                   }
int main(){
	int n,a[50000]={0},b[50000]={0},c[10003]={0};
	int i,max,min,k,s=0,t;
	scanf("%d",&n);
	scanf("\n%d%d",&a[0],&b[0]);
	int t1=a[0],t2=b[0];
	for(i=1;i<n;i++){
	scanf("\n%d%d",&a[i],&b[i]);
	if(a[i]<t1){
		t1=a[i];
	}
	if(b[i]>t2){
		t2=b[i];
	}
	}
	for(i=0;i<n;i++){

      for (k=a[i]*2;k<=b[i]*2;k++){
	  c[k]=1;
	  }
	}
	for(k=0;k<10001;k++){
	s+=c[k];
	}
	if((t2-t1+1)*2-1!=s){
	printf("no");
	}else{
	printf("%d %d",t1,t2);
	}

return 0;
}
int main(){
	int n,i,j,a[50000],b[50000],s[10000]={0},k=10000,w=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&a[i],&b[i]);
	}
	for(i=0;i<n;i++){
		for(j=a[i];j<b[i];j++){
			s[j]=1;
		}
	}
	for(i=0;i<n;i++){
		
		if(a[i]<k){
			k=a[i];
		}
		if(b[i]>w){
			w=b[i];
		}
	}
	
	for(i=k;i<=w-1;i++){
		if(s[i]==0){
			printf("no");
			return 0;
		}
	}
	printf("%d %d",k,w);


	return 0;
}
int main(){
	int n,i,j,amin,bmax,t=0;
	int zqj[1000][1000]={0};
	struct qujian{
		int a;
		int b;
	};
	struct qujian q[5000];
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d%d",&q[i].a,&q[i].b);
	}
	amin=q[1].a;
	bmax=q[1].b;
	for(i=1;i<=n;i++){
		if(q[i].a<amin){
			amin=q[i].a;
		}
		if(q[i].b>bmax){
			bmax=q[i].b;
		}
	}
	for(i=1;i<=n;i++){
		if(q[i].a==q[i].b){
			zqj[q[i].a][q[i].b]=1;
		}
		for(j=q[i].a;j<q[i].b;j++){
			zqj[j][j]=1;
			zqj[j][j+1]=1;
		}
		zqj[q[i].b][q[i].b]=1;
	}
	for(i=amin;i<bmax;i++){
		if(zqj[i][i]==0||zqj[i][i+1]==0){
			t=1;
			printf("no");
			break;
		}
	}
	if(t==0){
	    printf("%d %d",amin,bmax);
	}
	return 0;
}
int main(){
	int n;
	scanf("%d",&n);
	int a[50000];
	int b[50000];
	for(int i=0;i<n;i++){
		scanf("%d %d",&(a[i]),&(b[i]));
	}
	int sz[20001]={0};
	int min=a[0];
	int max=b[0];
	for(int h=0;h<n;h++){
		if(a[h]<min){
			min=a[h];
		}
		if(b[h]>max){
			max=b[h];
		}
	}
	for(int m=0;m<n;m++){
		for(int k=a[m];k<b[m];k++){
			sz[k]=1;
		}
	}
	for(int g=min;g<max;g++){
		if(sz[g]==0){
			printf("no");
			return 0;
		}
	}
	printf("%d %d",min,max);
	return 0;
}
void main()
{
	int n,i,j,pd=1,num[50000][2],max=0,min,qj[10000]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %d",&num[i][0],&num[i][1]);
		if(num[i][1]>=max)
			max=num[i][1];
		for(j=num[i][0];j<num[i][1];j++)
		{
			qj[j*2]=1;
			qj[j*2+1]=1;
		}
		qj[j*2]=1;
	}
	for(j=0;j<=max*2;j++)
	{
		if(qj[j]==1)
		{		
			min=j*0.5;
			for(;j<=max*2;j++)
			{
				if(qj[j]==0)
				{
					printf("no");
					pd=0;
				}
			}
			if(pd==1)
				printf("%d %d",min,max);
			else
				break;
		}
	}
}
int main(){
    int n,i,j,e,a;
    scanf("%d",&n);
    int x[n],y[n];
    for(i=0;i<n;i++){
        scanf("%d %d",&x[i],&y[i]);
    }
    for(j=1;j<=n;j++){
        for(i=0;i<n-j;i++){
            if(x[i]>x[i+1]){
                e=x[i];
                x[i]=x[i+1];
                x[i+1]=e;
            }
            if(y[i]>y[i+1]){
                e=y[i];
                y[i]=y[i+1];
                y[i+1]=e;
            }
        }
    }
    a=0;
    for(i=0;i<n-1;i++){
        if(x[n-i-1]>y[n-i-2]||y[i]<x[i+1]){
              a++;
        }
    }
    if(a!=0){
        printf("no");
    }
    else{
        printf("%d %d",x[0],y[n-1]);
    }
    return 0;
}
void main()
{
	int a[50000];
	int b[50000];
	int i,j,k,n,t;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
	for (i=0;i<n-1;i++)
	{
		for (j=0;j<n-i-1;j++)
		{
			if (a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
				t=b[j];
				b[j]=b[j+1];
				b[j+1]=t;
			}
		}
	}
	k=1;
	for (i=0;i<n-1;i++)
	{
		if (i==0)
		{
			if (b[i]<a[i+1])
			{
				k=0;
				break;
		}
		}
		 if ((i!=0)&&(b[i]>=b[i-1]))
		{
		if (b[i]<a[i+1])
		{
			k=0;
			break;
		}
		}
	}

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

}
int main(){
	int n,sza[50000],szb[50000],szxa[50000],szxb[50000],j,t,i;
	double m;
	scanf("%d\n",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&sza[i],&szb[i]);
		szxa[i]=sza[i];
		szxb[i]=szb[i];
	}
	for(i=0;i<n-1;i++){
		for(j=0;j<n-1;j++){
			if(szxa[j]>szxa[j+1]){
				t=szxa[j];
				szxa[j]=szxa[j+1];
				szxa[j+1]=t;
			}
		}
	}
	for(i=0;i<n-1;i++){
		for(j=0;j<n-1;j++){
			if(szxb[j]>szxb[j+1]){
				t=szxb[j];
				szxb[j]=szxb[j+1];
				szxb[j+1]=t;
			}
		}
	}
	if(szxa[0]>szxb[0]){
		t=szxa[0];
		szxa[0]=szxb[0];
		szxb[0]=t;
	}
	if(szxa[n-1]>szxb[n-1]){
		t=szxa[n-1];
		szxa[n-1]=szxb[n-1];
		szxb[n-1]=t;
	}
	for(m=szxa[0];m<=szxb[n-1];m=m+0.5){
		for(j=0;j<n;j++){
			if((m>=sza[j])&&(m<=szb[j])){
				break;
			}
		}
		if(j==n){
			puts("no");
			break;
		}
	}
	if(m==szxb[n-1]+0.5){
		printf("%d %d",szxa[0],szxb[n-1]);
	}
	return 0;
}
int main()
{
	int n,num=0,amin, bmax,i,maxb=0;
	int a[10000];
	int b[10000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
	for(int j=n-1;j>0;j--)
	{
		for(int k=0;k<j;k++)
		{
			if(a[k]>a[k+1])
			{
			    int tmp,tmpx;
			    tmp=a[k+1];
				tmpx=b[k+1];
			    a[k+1]=a[k];
				b[k+1]=b[k];
				a[k]=tmp;
				b[k]=tmpx;
			}

		}
	}
	for(int m=0;m<n;m++)
	{
		if(m==0)
		{
			maxb=b[0];
		}
		else
		{
			if(b[m]>b[m-1])
			{
				maxb=b[m];
			}
		}
		if(a[m+1]>maxb)
		{
			printf("no");
			num++;
			break;
		}
	}
	for(i=0;i<n;i++)
	{
		for(int k=0;k<n;k++)
		{
			if(b[k]>b[k+1])
			{
				int tmpy;
				tmpy=b[k+1];
				b[k+1]=b[k];
				b[k]=tmpy;
			}
		}
	}
	amin=a[0];
	bmax=b[n];
	if(num==0)
	{
		printf("%d %d",amin,bmax);
	}
	return 0;
}
int main()
{
	int a[50000],b[50000],c[10001];
	int n,i,j,k,s=0,p,q,l,u;
	int x=10000,d=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&(a[i]),&(b[i]));
	}
	for(i=0;i<=10000;i++)
	{
		c[i]=1;
	}
	for(i=0;i<n;i++)
	{
		k=b[i];
		l=a[i];
		for(j=l+1;j<=k;j++)
		{
			c[j]=0;
		}
	}
	for(i=0;i<n;i++)
	{
		if(a[i]<x)
		{
			x=a[i];
		}
	}
	c[x]=0;
	for(i=0;i<n;i++)
	{
		if(b[i]>d)
		{
			d=b[i];
		}
	}
	for(i=x;i<=d;i++)
	{
		if(c[i]==1)
		{
			s++;
		}
	}
	if(n>=3)
	{
		if(s>0)
		{
			printf("no");
		}
	    if(s==0)
		{
		    printf("%d %d",x,d);
		}
	}
	if(n<3)
	{
		printf("no");
	}
	return 0;
}
int main(){
int n,i,k,e,a[1000],b[1000],x=1;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d %d\n",&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; }
                 } 
for(k=1;k<=n;k++){for(i=0;i<n-k;i++) if(b[i]>b[i+1]){e=b[i+1];
                                                     b[i+1]=b[i];
                                                     b[i]=e; }
                 } 
for(i=0;i<n;i++) {if(a[i+1]>b[i]) {x=0;
                                   break;}
                  }
if(x==0) printf("no");
else printf("%d %d",a[0],b[n-1]);
return 0;}
int main()
{
 	int sz[ROW][COL];
 	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);
		}
	
    
    return 0;
}
int main(){
	int a[50000],b[50000],n,h,test,i;
	double x;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
	int min=a[0],max=b[0];
	for(i=1;i<n;i++)
	{
			if(b[i]>max)
			{
			   max=b[i];
            }
	}
	for(i=1;i<n;i++)
	{
			if(a[i]<min)
			{
			   min=a[i];
            }
	}
	for(x=min;x<=max;x+=0.1)
	{
		test=0;
		for(i=0;i<n;i++)
		{
			if(x>=a[i]&&x<=b[i]) {test=1; break;}
		}
		if(test==0) {printf("no");return 0;}
	}
	printf("%d %d",min,max);
	return 0;
}
int main()
{
int n,i,j;
scanf("%d",&n);
int num[n+n];
for(i=0;i<(n+n);i=i+2)
scanf("%d %d",&(num[i]),&(num[i+1]));
for(j=0;j<(n+n);j=j+2)
{
for(i=0;i<(n+n);i=i+2)
{
if(((num[j])<=(num[i+1]))&&((num[j+1])>=(num[i])))
{num[j]=num[i]<num[j]?num[i]:num[j];
num[i]=num[i]<num[j]?num[i]:num[j];
num[j+1]=num[i+1]>num[j+1]?num[i+1]:num[j+1];
num[i+1]=num[i+1]>num[j+1]?num[i+1]:num[j+1];}
}
}
for(j=0;j<(n+n);j=j+2)
{
for(i=0;i<(n+n);i=i+2)
{
if(((num[j])!=(num[i]))||((num[j+1])!=(num[i+1])))
{printf("no");
return 0;}
}
}
printf("%d %d",num[0],num[1]);
return 0;
}
int main(){
int n,a[50000],b[50000],i,j,p,t,s;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d%d",&(a[i]),&(b[i]));
}
for(i=0;i<n;i++){
for(j=n-1;j>i;j--){
if(a[j]<a[j-1]){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
p=b[j];
b[j]=b[j-1];
b[j-1]=p;
}
}
}
s=0;
for(i=1;i<n;i++){
for(j=0;j<i;j++){
if(a[i]<b[j]+1){
s=s+1;
break;
}
}
}
if(s==n-1){
for(i=0;i<n;i++){
for(j=n-1;j>i;j--){
if(b[j]<b[j-1]){
t=b[j];
b[j]=b[j-1];
b[j-1]=t;
}
}
}
printf("%d %d",a[0],b[n-1]);
}
else printf("no");
return 0;
}
int main(){
int k,i,m,l,p=0,q,x,e,n,d,s;
int a[50000],b[50000],c[50000],g[50000],r[50000];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d %d",&a[i],&b[i]);
}
for(i=0;i<n;i++){
g[i]=a[i];
r[i]=b[i];
}
for(k=1;k<=n;k++){
	for(i=0;i<n-k;i++){
		if(g[i]>g[i+1]){
		e=g[i+1];
		g[i+1]=g[i];
		g[i]=e;
		}
	}
}
d=g[0];
for(k=1;k<=n;k++){
	for(i=0;i<n-k;i++){
		if(r[i]<r[i+1]){
		m=r[i+1];
		r[i+1]=r[i];
         r[i]=m;
		}
	}
}
x=r[0];
for(i=g[0];i<=r[0];i++){
	c[i]=1;
} 
for(i=0;i<n;i++){
	for(q=a[i];q<=b[i];q++){
		c[q]=c[q]-1;
	}
}
for(i=1;i<n;i++){
	if(c[g[i]]>=0||c[r[i]]>=0){
	p=p+1;
	}
}
if(p>0){
printf("no");
}else{

	printf("%d %d",d,x);
}
return 0;
}
int main(){

    int i,k,n,s=0,p,a;
    int sz[l]={-1},sz1[l]={-1},sz2[l]={-1},e,f;
	scanf("%d",&n);
	for(i=0;i<n;i++){
	scanf("%d %d",&(sz1[i]),&(sz2[i]));
	}
    for(i=0;i<n;i++){
        for(a=0;a<l;a++){
            if(a+0.5>=sz1[i]&&a+0.5<=sz2[i]){
            sz[a]=1;
            }
            else if(1!=sz[a]){
                sz[a]=0;
            }
        }
    }
	for(k=1;k<n;k++){
		for(i=0;i<n-k;i++){
			if(sz1[i]>sz1[i+1]){
			e=sz1[i+1];
			sz1[i+1]=sz1[i];
			sz1[i]=e;
}
}
}
		for(k=1;k<n;k++){
		for(i=0;i<n-k;i++){
			if(sz2[i]>sz2[i+1]){
            f=sz2[i+1];
            sz2[i+1]=sz2[i];
            sz2[i]=f;
			}
		}
	}
    for(a=0;a<l;a++){
        if(sz[a]==1){
            s++;
        }
    }
    p=sz2[n-1]-sz1[0];
    if(p==s){
		printf("%d %d",sz1[0],sz2[n-1]);
		}
        else{
            printf("no");
        }
		return 0;
}
int main(){
	int n,start[50000],end[50000],st=10000,e=0,i,point=0;
	double j;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&start[i],&end[i]);
		if(start[i]<st){st=start[i];}
		if(end[i]>e){e=end[i];}}
	for(j=st+0.5;j<e;j++){
		for(i=0;i<n;i++){
			if(j>start[i]&&j<end[i]){
				point++;
				break;}}}
	if(point==e-st){printf("%d %d",st,e);}
	else{printf("no");}
	return 0;
}
int main()
{
    int n,a[50000],b[50000],i,j,A,B,e[20001];
           scanf("%d",&n);
           for (i=0;i<20001;i++)
          {
           e[i]=0;
           }
for(i=0;i<n;i++)
{
    scanf("%d%d",&a[i],&b[i]);
    for(j=2*a[i];j<=2*b[i];j++)
          e[j]=1;
}
for(A=0;e[A]==0;A++){}
for (B=20000;e[B]==0;B--){}
for (i=A;i<=B;i++){
        if(e[i]==0){
            printf("no");
            break;
        }
        if(i==B)
       printf("%d %d",A/2,B/2);}
return 0;
}
int main(){
    int n,i,m=10000,b,c,k;
    int a[m];
    scanf("%d",&n);
    for(i=0;i<m;i++){
        a[i]=0;
    }
    for(i=0;i<n;i++){
        scanf("%d %d",&b,&c);
        if(c>b){
            for(k=0;k<m;k++){
                if(k>=b+1&&k<=c){a[k]=1;}
            }
        }
    }
    for(i=0;i<m;i++){
        if(a[i]==1){b=i-1;break;}
    }
    for(i=m-1;i>=0;i--){
        if(a[i]==1){c=i;break;}
    }
    for(i=b+1;i<=c+1;i++){
        if(a[i]!=1){break;}
    }
    if(i==c+1){printf("%d %d",b,c);}
    else{printf("no");}
    return 0;
}
int main(){ 
    int n,e,q;
    int sz[50000][2];
    scanf("%d",&n);

    for(int row=0;row<n;row++){
		for(int col=0;col<2;col++){
            scanf("%d",&sz[row][col]);
		}
	}
    for(int m=n;m>0;m--){
		for(int i=0;i<=m-2;i++){
			if(sz[i][0]>sz[i+1][0]){
				e=sz[i+1][0];
				sz[i+1][0]=sz[i][0];
				sz[i][0]=e;
				e=sz[i+1][1];
				sz[i+1][1]=sz[i][1];
				sz[i][1]=e;
			}
		}
	}
	

    for(int m=1;m<n;m++){
		for(int i=0;i<=m;i++){
			if(i!=m&&sz[m][0]<=sz[i][1]){
				break;
			}
			if(i==m){
				printf("no");
			
				return 0;
			}
		}
	}	
	q=0;
		for(int i=0;i<n;i++){
			if(sz[i][1]>q){
				q=sz[i][1];				
			}
		}
    printf("%d %d",sz[0][0],q);

        return 0; 
  }
int main(){
	int n,a[10000],b[10000],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];
		}
		if(b[i]>max){
			max=b[i];
		}
	}
	for(double m=min;m<=max;m=m+0.5){
		for(j=0;j<n;j++){
			if(m>=a[j]&&m<=b[j]){
				break;
			}
			if(j==n-1){
				printf("no");
				return 0;
			}
		}
		if(m==max){
			printf("%d %d",min,max);
			break;
		}
	}
	return 0;
}
int main()
{
    int n,sz[50000],d[50000],a[50000],b[50000],t=0,s=0,max,min;
    double k;
    scanf("%d", &n);
    int e, i;
    for (i=0; i<n; i++){
	    scanf("%d%d", &(sz[i]),&(d[i]));
        a[i]=sz[i];
        b[i]=d[i];
    }
    for (i=0;i<n-1;i++)
    {
		if (a[i]<a[i+1])
		{
			e=a[i+1];
			a[i+1]=a[i];
			a[i]=e;
		};
	}
	min=a[n-1];
     for (i=0;i<n-1;i++)
    {
    	if (b[i]>b[i+1])
		{
			e=b[i+1];
			b[i+1]=b[i];
			b[i]=e;
		};
	}
	max=b[n-1];
     for (k=min+0.5;k<=max;k=k+1){
         t=0;
         for (i=0;i<n;i++){
             if(k>sz[i]&&k<d[i]){t++;}
         }
         if(t>0){s++;}
    }
   if(s==max-min){printf("%d %d",min,max);}
      else{printf("no");}
   return 0;
}
int main(){
    int n,a[M],b[M],i,j,e,t,p,s;
    s=0;
    double m;
    scanf("%d",&n);
    scanf("\n");
    for(i=0;i<n;i++){
        scanf("%d %d",&(a[i]),&(b[i]));
        scanf("\n");
    }
    for(j=1;j<=n;j++){
        for(i=0;i<n-j;i++){
            if(a[i]>a[i+1]){
                e=a[i+1];
                a[i+1]=a[i];
                a[i]=e;
            }
            if(b[i]>b[i+1]){
                t=b[i+1];
                b[i+1]=b[i];
                b[i]=t;
            }
        }
    }
    m=a[0]+0.5;
    for(;m<b[n-1];m++){
        p=0;
        for(i=0;i<n;i++){
            if(m>a[i]&&m<b[i]){
                p=p+1;
            }
        }
        if(p>0){
            s=s+1;
        }
    }
    if(s==b[n-1]-a[0]){
        printf("%d %d",a[0],b[n-1]); 
    }else{
        printf("no");
    }
       return 0;
}
struct Interval
{
	int sta;
	int end;
};
int maximum(int a,int b,int c)
{
	if(a>=b&&a>=c) return a;
	if(b>=a&&b>=c) return b;
	if(c>=a&&c>=b) return c;
}
int compare(const void *a,const void *b)
{
	return ((struct Interval *)a)->sta-((struct Interval*)b)->sta;
}
main()
{
	struct Interval a[50000];
	int i,j=0,n,end=0,max=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d %d",&a[i].sta,&a[i].end);
	qsort(a,n,sizeof(struct Interval),compare);
	for(i=0;i<n-1;i++)
	{
		max=maximum(max,max,a[i].end);
		if(max>=a[i+1].sta)
		{
			j++;
			end=maximum(end,a[i].end,a[i+1].end);
		}
		else break;
	}
	if(j==n-1)
		printf("%d %d\n",a[0].sta,end);
	else printf("no");
}
int main(){
    int n,i,min,max,k,p,q,s;
    scanf("%d\n",&n);
    int a[n],b[n];
    for(i=0;i<n;i++){
        scanf("%d%d\n",&(a[i]),&(b[i]));
    }
    min=a[0],max=b[0];
    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]){
                p=a[i];
                a[i]=a[i+1];
                a[i+1]=p;
                q=b[i];
                b[i]=b[i+1];
                b[i+1]=q;
            }
        }
    }
    s=0;
    int c[n];
    for(i=1;i<n;i++){
        for(k=0;k<i;k++){
        if(b[k]<a[i]){
            c[i]=1;
        }else{
            c[i]=0;
            break;
        }
    }
    }
    for(i=1;i<n;i++){
        s=s+c[i];
    }
    if(s==0){
        printf("%d %d",min,max);
    }else{
        printf("no");
    }
  return 0;
}
int main ()
{
    struct point{
        int a,b;
    }points[50002],tmp;
    int i,j,n;
    int a,b,c=0;
    scanf("%d\n",&n);
    for(i=0;i<n;i++) 
    {scanf("%d%d",&a,&b);
    points[i].a=a;
    points[i].b=b;}
    for(j=n-1;j>0;j--)    
    {for(i=0;i<j;i++)    
       {if(points[i].a>=points[i+1].a){tmp=points[i+1];
        points[i+1]=points[i];
        points[i]=tmp;}
    }}
     for(j=1;j<n;j++){
      if(points[0].b>=points[j].a){
      if(points[j].b>points[0].b)
      {points[0].b=points[j].b; }
      c++;
      }
     else {c=0;break;}
      }
    if(c!=0)
    {printf("%d %d",points[0].a,points[0].b);} 
     else{printf("no\n");} 
     return 0;
}
int main()
{
	int n,i,p,tem,max,a[100],b[100];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	for(i=0;i<n;i++){
		for(p=0;p<n-1;p++){
			if(a[p]>a[p+1]){
				tem=a[p];
				a[p]=a[p+1];
				a[p+1]=tem;
				tem=b[p];
				b[p]=b[p+1];
				b[p+1]=tem;
			}
		}
	}
max=b[0];
for(i=0;i<n;i++){if(a[i]>max){printf("no");return 0;}else{if(b[i]>max){max=b[i];}}}
printf("%d %d",a[0],max);
	return 0;
}
int main(){
	int n,a[LEN],b[LEN],i,k,s=0;
	int min,max;
	double x;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	min=a[0];
	max=b[0];
	for(i=1;i<n;i++){
		if(a[i]<=min){
			min=a[i];
		}
		if(b[i]>=max){
			max=b[i];
		}
	}
	for(x=min;x<=max;x+=0.5){
		for(k=0;k<n;k++){
			if(x>=a[k]&&x<=b[k]){
				s++;
				break;
			}
		}
	}
	if(s!=2*(max-min)+1){
		printf("no");
	}else{
		printf("%d %d",min,max);
	}
	return 0;
}
int main()
{
    int a[50000],b[50000];
    int n,i,j,max,min,t,p;
    t=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d %d",&a[i],&b[i]);

        for(i=0,min=a[0];i<n;i++)
        {
            if(a[i]<min)
                    min=a[i];
        }
        for(i=0,max=b[0];i<n;i++)
        {
            if(b[i]>max)
                    max=b[i];
        }
    p=0;
    for(j=0;j<n;j++)
    {
        if(a[j]==min&&b[j]==max)
        {
            p=n;
            break;
        }
        for(i=0,t=0;i<n;i++)
        {
            if(i==j)
                continue;
            else if(a[j]==min)
            {
                if(a[i]<=b[j]&&b[i]>=b[j])
                t=t+2;
            }
            else if(b[j]==max)
            {
                if(b[i]>=a[j]&&a[i]<=a[j])
                t=t+2;
            }
            else
            {
                if(b[i]>=b[j]&&a[i]<=a[j])
                    t=t+2;
                else if(b[i]>=b[j]&&a[i]<=b[j]&&a[i]>a[j])
                    t=t+1;
                else if(a[i]<=a[j]&&b[i]>=a[j]&&b[i]<b[j])
                    t=t+1;
            }
            if(t>=2)
            {
                p+=1;
                break;
            }
        }

    }
    if(p!=n)
        printf("no\n");
    else
    {
        printf("%d %d",min,max);
    }
    return 0;
}