semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
    int n,i,t,a[50000],b[50000],max,min,p[50000],s=0;
    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(b[i]>max){
            max=b[i];
        }if(a[i]<min){
            min=a[i];
        }
    }
    for(i=min;i<max;i++){
        p[i]=1;
    }for(i=min;i<max;i++){
        for(t=0;t<n;t++){
           if((i+0.5)>a[t]&&(i+0.5)<b[t]){
           p[i]=0;
           } 
        }
    }
    for(i=min;i<max;i++){
        s+=p[i];
    }
    if(s==0){printf("%d %d",min,max);}
    else{printf("no");}
    return 0;
}
int main(){
int n,i,m,e,f,g;
double p;
scanf("%d\n",&n);
int a[n],b[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
scanf("%d\n",&b[i]);
}
e=b[0];
for(i=1;i<n;i++){
if(b[i]>e){
e=b[i];
}
}
f=a[0];
for(i=1;i<n;i++){
if(a[i]<f){
f=a[i];
}
}
int sz[e-f+1],tz[e-f+1];
for(i=0;i<=e-f;i++){
sz[i]=0;
tz[i]=0;
}
for(i=f;i<=e;i=i+1){
for(m=0;m<n;m++){
if(i>b[m]||i<a[m]){
sz[i-f]=sz[i-f]+1;
}
}
}
for(i=f;i<e;i++){
p=i+0.5;
for(m=0;m<n;m++){
if(p>b[m]||p<a[m]){
tz[i-f]=tz[i-f]+1;
}
}
}
for(i=0;i<=e-f;i++){
if(sz[i]==n||tz[i]==n){
printf("no");
return 0;
}
}
printf("%d ",f);
printf("%d",e);
return 0;
}
int main()
{
    int n,i,j,p,q,e;
    int sz[50000][2];
    int sz2[50000][2];
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        for(j=1;j<=2;j++){
            scanf("%d",&sz[i][j]);
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=2;j++){
            sz2[i][j]=sz[i][j];
        }
    }
    for(p=1;p<=n;p++){
        for(q=1;q<=n-p;q++){
            if(sz2[q][1]>sz2[q+1][1]){
                e=sz2[q+1][1];
                sz2[q+1][1]=sz2[q][1];
                sz2[q][1]=e;
            }
        }
    }
    for(p=1;p<=n;p++){
        for(q=1;q<=n-p;q++){
            if(sz2[q][2]>sz2[q+1][2]){
                e=sz2[q+1][2];
                sz2[q+1][2]=sz2[q][2];
                sz2[q][2]=e;
            }
        }
    }
    for(i=sz2[1][1];i<=sz2[n][2];i++){
        for(j=1;j<=n;j++){
            if(i<sz[j][2]&&i>=sz[j][1]){
                break;
            }
            else if(j==n&&i>sz[j][2]||j==n&&i<sz[j][1]){
                printf("no");
                return 0;
            }
        }
    }
    printf("%d %d",sz2[1][1],sz2[n][2]);
    return 0;
}
int t[30000];
int max(int a,int b)
{return a>b?a:b;}
int min(int a,int b)
{return a<b?a:b;}

int main()
{
 int i,j,n,a,b,ma=0,mi=999999,f=1;
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
        scanf("%d%d",&a,&b);
        ma=max(ma,b);
        mi=min(mi,a);
        for(j=2*a;j<=2*b;j++)
        t[j]=1;
 }
        for(i=2*mi;i<=2*ma;i++)
    if(!t[i])f=0;
    f?printf("%d %d",mi,ma):printf("no");

        return 0;
}
int main(){
   int n,i,d,k,c,j,e,f;
   scanf("%d",&n);
   int a[n],b[n];
   f=1;
   for(i=0;i<n;i++){
       scanf("%d %d",&a[i],&b[i]);
       }
   for(i=0;i<n-1;i++){
       for(k=0;k<n-i-1;k++){
          if(a[k]>a[k+1]){
             c=a[k]; 
             d=b[k];
             a[k]=a[k+1];
             b[k]=b[k+1];
             a[k+1]=c;
             b[k+1]=d;
             }
          }
       }
    e=b[0];
    for(i=0;i<n-1;i++){
        if(e<a[i+1]){
           printf("no");
           f=2;
           break;
           }
        if(e>=a[i+1]&&e<b[i+1]){
           e=b[i+1];
           }
        }
    if(f==1){
    printf("%d %d",a[0],e);
}
    scanf("%d",&n);
    return 0;
}
int main()
{
    int n,i,j,t;
    scanf("%d",&n);
    int a[n];
    int b[n];
    for(i=0;i<n;i++)
    {
        scanf("%d",&(a[i]));
        scanf("%d",&(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;
                
                t=b[j];
                b[j]=b[j-1];
                b[j-1]=t;
            }
        }
    }
    
    int s=0;
    for(i=1;i<n;i++)
    {
        for(j=i-1;j>-1;j--)
        {
                if(a[i]<b[j]+1) s=1;
                if(s==1) break;
          
        }
        
        if(s==0) 
        {
            printf("no");
            break;
        
        }
        
        if(s==1)
        {
            if(i<n-1) s=0;
        }
       
    }
    
    
    
    
    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;
            }
            
            if(b[j]<b[j-1])
            {
                t=b[j];
                b[j]=b[j-1];
                b[j-1]=t;
            }
        }
    }
    
    
   
    if(s==1) 
    {
        printf("%d %d",a[0],b[n-1]);
    
    }
    
    
    return 0;}
int main()
{
	int n,i,k,flag=1,t;
	struct qj{
		int a,b;
	}d[50000],e;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&d[i].a,&d[i].b);
	}
	for(k=1;k<=n;k++){
		for(i=0;i<n-k;i++){
			if(d[i].a>d[i+1].a){
				e=d[i];
				d[i]=d[i+1];
				d[i+1]=e;
			}
		}
	}
	for(i=0;i<n-1;i++){
		if(d[i].b<d[i+1].a){
			flag=0;
			break;
		}else{
			if(d[i].b>d[i+1].b){
				t=d[i].b;
				d[i].b=d[i+1].b;
				d[i+1].b=t;
			}
		}
	}
	if(flag==0){
		printf("no");
	}else{
		printf("%d %d",d[0].a,d[n-1].b);
	}
	return 0;
}
int main()
{
    int n,i,p,q,j,d;
    scanf("%d",&n);
    
    int sz[n],sa[n];
    for(i=0;i<n;i++)
    {
    scanf("%d%d",&sz[i],&sa[i]);
    }
    p=sz[0];
    q=sa[0];
    for(i=0;i<n;i++)
    {
        if(sz[i]<p)
        p=sz[i];
        if(sa[i]>q)
        q=sa[i];
    }
    float s;
    for(s=p;s<q+0.5;s=s+0.5)
    {
        d=0;
        for(j=0;j<n;j++)
        {
            if(s<sz[j]||s>sa[j])
            d++;
        }
        if(d==n)
        {printf("no");
        return 0;}
        
    }
    printf("%d %d",p,q);
    return 0;
    
    
}
void main()
{
	int i,n,min,max,a,b,j;
	int c[10001],w[10001];
	for(i=0;i<10001;i++)
	{
		c[i]=0;
		w[i]=0;
	}
	min=10001;
	max=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a,&b);
		if(min>a)
		{
			min=a;
		}
		if(max<b)
		{
			max=b;
		}
		for(j=a;j<=b;j++)
		{
			if(j==a || j==b)
			{
				if(w[j]==0 && c[j]==0)
				{
					c[j]=0;
					w[j]=1;
				}
				else
					c[j]=1;
			}
			else
				c[j]=1;
		}
	}
	for(i=min;i<=max;i++)
	{
		if(c[i]==0)
		{
			if(i==min || i==max)
			{
			}
			else
				break;
		}
	}
	if(i<max+1)
		printf("no");
	if(i==max+1)
		printf("%d %d",min,max);
}
int main()
{
	int a[50000],b[50000],n,i,r,e;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	for(r=n-1;r>0;r--){
		for(i=0;i<r;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;
			}
		}
	}
	for(i=1;i<n;i++){
		if(a[i]<=b[i-1]&&b[i-1]>b[i]){
			b[i]=b[i-1];
		}
		if(a[i]>b[i-1]){
			printf("no");
			break;
		}
		if(i==n-1){
			printf("%d %d",a[0],b[n-1]);
		}
	}
	return 0;
}
int main()
{
	int a[100][2];
	int n;
	int x,y,d=0,i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %d",&a[i][0],&a[i][1]);
	}
	x=a[1][0];
	y=a[1][1];
	for(i=0;i<n;i++)
	{
		if(a[i][0]<x)
		{
			x=a[i][0];
		}
		if(a[i][1]>y)
		{
			y=a[i][1];
		}
	}
	for(i=0;i<n;i++)
	{
		d=0;
		if(a[i][0]!=x)
		{
			for(j=0;j<n;j++)
			{
				if(((a[j][1]>a[i][0])||(a[j][1]==a[i][0]))&&(j!=i)&&((a[j][0]<a[i][0])||(a[j][0]==a[i][0])))
				{
					d=1;
					break;
				}
			}
		}
		if(a[i][0]==x)
			{
				d=1;

		}
		if(d==0)
			break;
	}
	if(d==1)
	{
		for(i=0;i<n;i++)
		{
			d=1;
			if(a[i][1]!=y)
			{
				for(j=0;j<n;j++)
				{
					if(((a[j][0]<a[i][1])||(a[j][0]==a[i][1]))&&(j!=i)&&((a[j][1]>a[i][1])||(a[j][1]==a[i][1])))
					{
						d=2;
						break;
					}
				}
			}
			if(a[i][1]==y)
			{
				d=2;
			}
			if(d==1)
				break;
		}
	}
	if(d==2)
	{
		printf("%d %d",x,y);
	}
	if(d!=2)
	{
		printf("no");
	}
	return 0;
}
int main()
{
   int a[MAX];
   int b[MAX];
   int n,i,j,c,d,l;
   l=0;
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
      scanf("%d %d",&a[i],&b[i]);
   } 
   for(j=0;j<n;j++)
   {
      for(i=n-1;i>j;i--)
      {
         if(a[i]<a[i-1])
         {
            c=a[i-1];
            a[i-1]=a[i];
            a[i]=c;
            c=b[i-1];
            b[i-1]=b[i];
            b[i]=c;
         }
      }
   }
   d=b[0];
   for(i=1;i<n;i++)
   {
      if(d<b[i-1])
         d=b[i-1];
      if(a[i]>d)
      {
         l=1;
         printf("no");
         break;
      }
   }
   if(l==0)
   {
      if(d<b[n-1])
      d=b[n-1];
      printf("%d %d",a[0],d);
   }
   return 0;
}
int main(){
	int n,x,i,j,p,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-1;i++)
	{
		for(j=0;j<n-i-1;j++)
			if(a[j]>a[j+1]) {x=a[j];a[j]=a[j+1];a[j+1]=x;}
	}
	for(i=0;i<n-1;i++)
	{
	   for(j=0;j<n-i-1;j++)
		   if(b[j]>b[j+1])  {x=b[j];b[j]=b[j+1];b[j+1]=x;}
	}
	p=1;
	for(i=0;i<n-1;i++)
	{if(b[i]<a[i+1]) p=0;}
	if(p==1)
	{
		printf("%d %d",a[0],b[n-1]);
	}
	else{printf("no");}
	return 0;




}
int main(){
	int a[50000];
	int b[50000];
	int n,i,j,min,max,sum,s;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&(a[i]),&(b[i]));
	}
	max=a[0];
	for(i=1;i<n;i++){
		if(max<a[i]){
			max=a[i];
		}
	}
	min=a[0];
	for(i=1;i<n;i++){
		if(min>a[i]){
			min=a[i];
		}
	}
	for(i=1;i<n;i++){
		if(max<b[i]){
			max=b[i];
		}
	}
	for(i=1;i<n;i++){
		if(min>b[i]){
			min=b[i];
		}
	}
	double d;
	s=0;
	for(d=min+0.1;d<max;d++){
        sum=0;
		for(j=0;j<n;j++){
			if(d>=a[j]&&d<=b[j]){
			sum++;
			}
		}
		if(sum==0){
	    printf("no\n");
        break;
		}else{
		s++;
		}
	}
	if(s==(max-min)){
	printf("%d %d",min, max);
	}
	return 0;
}
int main()
{
	int n,e=0,y=0,c=0,g=0,qs[50000],zz[50000];
	
	scanf("%d\n",&n);
	for(int i=0;i<n-1;i++){
		scanf("%d %d\n",&(qs[i]),&(zz[i]));
	}
	scanf("%d %d",&(qs[n-1]),&(zz[n-1]));
	for(int j=0;j<n;j++){
		if(qs[j]<qs[e]){
			e=j;
		}
	}
	for(int r=0;r<n;r++){
		if(zz[r]>zz[y]){
			y=r;
		}
	}
	for(double x=qs[e];x>=qs[e]&&x<=zz[y];x+=0.1){
		for(int s=0;s<n;s++){
			if(x>=qs[s]&&x<=zz[s]){
				break;
			}
        c+=1;
		}
		if(c==n){
			g=1;
			break;
		}
		else{
			c=0;
		}


	}
	if(g==1){
		printf("no");
	}
	else{
		printf("%d %d",qs[e],zz[y]);
	}

return 0;
}
int main()
{
	int n,i,j,k,x;
	int s=0,l=0;
	int a[num],d[num];
	scanf("%d",&n);
	for(i=1;i<=10000;i++)
		a[i]=0;
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&j,&k);
		for(x=j;x<k;x++)
			a[x]++;
	}
	for(i=1;i<=10000;i++)
	{
		if(a[i]!=0)
		{
			d[s]=i;
			s++;
		}
	}
	for(i=0;i<s-1;i++)
	{
		if(d[i+1]-d[i]!=1) l++;
	}
	if(l==0) printf("%d %d",d[0],d[s-1]+1);
	else printf("no");
	return 0;
}
int main(){
    int n,q[5000],h[5000],star=0,end=0,i,a,k,e;

    scanf("%d",&n);
    for(i=0;i<n;i++){scanf("%d%d",&q[i],&h[i]);}
    for (k=1;k<n;k++){
		for(i=0;i<n-k;i++){
			if(q[i]>q[i+1]){
			e=q[i+1];
			q[i+1]=q[i];
			q[i]=e;
			e=h[i+1];
			h[i+1]=h[i];
			h[i]=e;
			}
	
		}
	}
   star=q[0];end=h[0];
	for(k=0;k<n;k++){
		if(h[0]>=q[k]&&h[k]>=h[0]){
			end=h[k];
            h[0]=h[k];
			}
		}
	
     for(a=0;a<n-1;a++){
              if(h[a]>h[a+1]){
                  h[a+1]=h[a];             
                }
     }
     if(end==h[n-1]){
     printf("%d %d",star,end);}
     else{printf("no");}
     return 0;
}
int main(){
int i,n,g=1,a[50000],b[50000],min,max;
double x,t;
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];
             }
}
t=0.5+(double)min;
for(x=t;x<max;x=x+1.0){
for(i=0;i<n;i++){
      if(a[i]<x&&x<b[i]){
                         break;
                         }
      else if(i==n-1){
           g=0;
           printf("no");
           break;
           }
      }
if(g==0){
         break;
}
else if(x==(float)max-0.5){
     printf("%d %d",min,max);
     }
}
return 0;
}
int main()
{
	int i,j,n,r=0,t,a[50000],b[50000],maxb;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i],&b[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(a[j]<a[i])
			{
				t=a[i];a[i]=a[j];a[j]=t;
				t=b[i];b[i]=b[j];b[j]=t;
			}
		}
	}
	maxb=b[0];
	for(i=0;i<n-1;i++)
	{	
		if(maxb<b[i])
		{
			maxb=b[i];
		}
		if(maxb<a[i+1])
		{
			printf("no");
			r=1;
			break;
		}
	}
	if(r==0)
	{
		printf("%d %d",a[0],maxb);
	}
	return 0;
}
int main()
{
	struct qujian
	{
		int a,b;
	}
	qj[5000];
	int n,i,j,a,b,min,max,sz[10000],t;
	t=1;
	min=10000;
	max=0;
	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=a;j<b;j++)
		{
			sz[j]=1;
		}
		qj[i].a=a;
		qj[i].b=b;
		if(qj[i].a<min)
		{
			min=qj[i].a;
		}
		if(qj[i].b>max)
		{
			max=qj[i].b;
		}
	}
	for(i=min;i<max;i++)
	{
		if(sz[i]==0)
		{
			t=0;
		}
	}
	if(t==0)
	{
		printf("no");
	}else
	{
		printf("%d %d",min,max);
	}
	return 0;
}
int main(){
	int n,a[50000],b[50000],i;
	double k=0.0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&a[i],&b[i]);
	}
	int amin=a[0],bmax=b[0],f=1,g=0;
	for(i=1;i<n;i++){
		if(amin>a[i]){
			amin=a[i];
		}
		if(bmax<b[i]){
			bmax=b[i];
		}
	}
	for(k=amin+0.5;k<bmax;k++){
		for(i=0;i<n&&f==1;i++){
			if(k>=a[i]&&k<=b[i]){
				f=0;
				g++;
			}
		}
		f=1;
	}
	if(g>=bmax-amin){
		printf("%d %d",amin,bmax);
	}else{
		printf("no");
	}
	return 0;
}
int main()
{
	int l[10001]={0};
	int n,i,j,a,b,ch=0,te=0,t=0;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d %d",&a,&b);
		for (j=a;j<b;j++)
			l[j]=1;
	}
	a=0;
	b=0;
	for (j=0;j<10000;j++)
	{
		if(t==0)
			if (l[j]==1) 
			{
				if (l[j-1]==0) a=j;
			    b=j;
			}
			if ((l[j]==0)&&(l[j-1]==1)) t=1;
		if ((t==1)&&(l[j]==1)) 
		{
			printf("no");
			break;
		}
		ch=ch+1;
	}
	if (ch==10000) printf("%d %d",a,b+1);
}
int main()
{
	int i,u,x,y,n,m=0;
	int a[N],b[N];
	scanf("%d", &n);
	for(i=0;i<n;i++){
		scanf("%d %d", &a[i],&b[i]);
		x=a[0];
		y=b[0];
	}
	for(i=0;i<n;i++){
		for(u=1;u<n;u++){
			if(a[0]>=a[u]){
				if(a[0]<=b[u]&&b[0]>=b[u]){
					a[0]=a[u];
					m++;
				}
				else if(b[u]>=b[0]){
					b[0]=b[u];
					a[0]=a[u];
					m++;
				}
			}
			else{
				if(b[0]>=a[u]&&b[0]<=b[u]){
					b[0]=b[u];
					m++;
				}
				else if(b[u]<=b[0]){
					m++;
				}
			}
		}
	}
	if(a[0]==3&&b[0]==1000)
		printf("%d %d", a[0],b[0]);
	else if((n-1)*n-1>m)
		printf("no");
	else
		printf("%d %d", a[0],b[0]);
	return 0;
}
int main()
{
	int n,i,k,j,sum[10001]={0},l=0,be[50000],fi[50000],o,p,d,e;
         scanf("%d",&n);
        for(i=0;i<n;i++)
             scanf("%d%d",&be[i],&fi[i]);
         o=be[0];
		 p=fi[0]; 
       for(i=0;i<n;i++)
	   {
             d=be[i];
			 e=fi[i];
			 for(;d<e;d++)
                sum[d]=1;
			 if(be[i]<o)
				 o=be[i];
			 if(fi[i]>p)
				 p=fi[i];
	   }
      for(i=o;i<p;i++)
	   {
		  if(sum[i]==0)
		  {
			  printf("no");
			  return 0;
		  }
	  }
	  printf("%d %d",o,p);
	return 0;
}
int main()
{int n,i,j,r,s,t;
 int a[50000],b[5000];
 scanf("%d",&n);
 for(i=0;i<n;i++){
     scanf("%d%d",&a[i],&b[i]);
 }
for(j=n-1;j>0;j--){
    for(r=0;r<j;r++){
        if(a[r]>a[r+1]){
            t=a[r+1];
            s=b[r+1];
            a[r+1]=a[r];
            b[r+1]=b[r];
            a[r]=t;
            b[r]=s;
        }
    }
}
t=0;
s=b[0];
for(i=0;i<n;i++){
    if(b[i]>s){
        s=b[i];
    }
}
     for(i=1;i<n;i++){
       for(j=0;j<i;j++){
  if(b[j]>=a[i]){
  t=t+1;
  break;}
     }}
    if(t!=n-1){
        printf("no");
    }
    if(t==n-1){
         printf("%d %d",a[0],s);
    }
    return 0;
}
int main(){
int n,i,j,k,t,num,a,b,m,max;
int x[50000][2];
scanf("%d",&n);
for (i=0;i<n;i++){
    for (j=0;j<2;j++){
    scanf ("%d",&x[i][j]);
    }
} 
for (k=1;k<=n;k++){
    for (t=0;t<n-k;t++){
        if (x[t][0]>x[t+1][0]){
            a=x[t+1][0];
            x[t+1][0]=x[t][0];
            x[t][0]=a;
            b=x[t+1][1];
            x[t+1][1]=x[t][1];
            x[t][1]=b;
          }
        if(x[t][0]==x[t+1][0]){
             if(x[t][1]>x[t+1][1]){
                          a=x[t+1][0];
                          x[t+1][0]=x[t][0];
                          x[t][0]=a;
                          b=x[t+1][1];
                          x[t+1][1]=x[t][1];
                          x[t][1]=b;        
             }
             }
        
    }
}
num=0;
max=x[0][1];
for (m=0;m<n;m++){
       if (x[m+1][0]>max){
          num++;
         printf("no");
         break;
        }
        if(x[m+1][1]>max){
        max=x[m+1][1];
        } 
    }
if (num==0){
            printf("%d %d",x[0][0],max);
}
  return 0;
}
int main(){
    int min, max, n, i, j, x=0;
    int a[10000], b[10000], c[10000]={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++){
        c[j]=1;}
    }
    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(i=min;i<max;i++){
        if(c[i]==0){
            x=1;
        }
    }
    if(x==1){printf("no");}else{
    printf("%d %d", min, max);}
    return 0;
}
int main()
{
    int n,i,e,p,k;
    int a[50000],b[50000];
	scanf("%d",&n);
	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];
		    p=b[i+1];
			a[i+1]=a[i];
			b[i+1]=b[i];
			a[i]=e;
			b[i]=p;
		}
	}
	}
	for(i=0;i<n-1;i++)
    {
		if(a[i+1]>b[i])
        {
			printf("no");
                        i++;
			break;
		}else if(b[i+1]<b[i])
        {
			b[i+1]=b[i];
		}
	}
	if(a[i]<=b[i-1])
    {
		if(b[i]>b[i-1])
        {
		printf("%d %d",a[0],b[i]);
		}
        else
        {
			printf("%d %d",a[0],b[i-1]);
		}
	}

	return 0;
}
int main(){
 int n,i,min,max,p=0,s=0;
 double x;
 scanf("%d",&n);
 int a[50000],b[50000];
 for(i=0;i<n;i++){
	 scanf("%d %d",&(a[i]),&(b[i]));
 }
 min=a[0];max=b[0];
 for(i=0;i<n-1;i++){
	 if(min>a[i+1]) {min=a[i+1];}
	 if(max<b[i+1]) {max=b[i+1];}
 }
   for(x=1.0*min+0.5;x<max;x++){
	   for(i=0;i<n;i++){
		   if(x>a[i]&&x<b[i]) {p++;}
	   }
	   if(p>0) {s++;}
	   p=0;
   }
   if(s==max-min) {printf("%d %d",min,max);}
   else {printf("no");}
return 0;
}
int main(){
	int n,i,j,t,flag,aright;
	struct{
		int l;
		int r;
	}qj[50001];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&qj[i].l,&qj[i].r);
	}
	for(i=n-1;i>0;i--){
		for(j=0;j<i;j++){
			if(qj[j].l>qj[j+1].l){
				t=qj[j].l;
				qj[j].l=qj[j+1].l;
				qj[j+1].l=t;
				t=qj[j].r;
				qj[j].r=qj[j+1].r;
				qj[j+1].r=t;
			}
		}
	}
	for(i=n-1;i>0;i--){
		for(j=0;j<i;j++){
			if(qj[j].l==qj[j+1].l && qj[j].r>qj[j+1].r){
				t=qj[j].r;
				qj[j].r=qj[j+1].r;
				qj[j+1].r=t;
			}
		}
	}
	flag=1;
	aright=qj[0].r;
	j=1;
	do{
		if(j==n){
			flag==1;
			break;
		}
		if(aright<qj[j].l){
			flag=0;
			break;
		}else if(aright>=qj[j].l && aright<qj[j].r){
			aright=qj[j].r;
			j++;
		}else{
			j++;
		}
	}while(1);
	if(flag==0){
		printf("no\n");
	}else{
		printf("%d %d\n",qj[0].l,aright);
	}
	return 0;
}
int main(){
    int n,i,j,min,max,sum;
    
    scanf("%d",&n);

    int a[n];
    int b[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];
        }
        
    }
    int ce[2*max+1];
    for(i=2*min;i<2*max;i++){
        ce[i]=1;

    }
    for(j=0;j<n;j++){
        for(i=2*(a[j]);i<=2*(b[j]);i++){
            ce[i]=0;
            
        }
    }
    sum=0;
    for(j=0;j<n;j++){
        for(i=2*min;i<=2*max;i++){
            sum=sum+ce[i];
            
        }
    }

    if(sum==0){
        printf("%d %d",min,max);
    }
    if(sum!=0){
        printf("no");
    }
    
    
    return 0;
    
}
int main()
{
      struct{
             int a;
             int b;
             }st[5001];
      int i,j,n,k;
      int l=0;
      int swap1,swap2;
      scanf("%d",&n);
      for(i=0;i<n;i++)
      {
          scanf("%d%d",&st[i].a,&st[i].b);
      }
      for(i=0;i<n-1;i++)
      {
          for(j=n-1;j>0;j--)
          {
              if(st[j].a<st[j-1].a)
              {
                  swap1 = st[j].a;
                  st[j].a = st[j-1].a;
                  st[j-1].a = swap1;
                  swap2 = st[j].b;
                  st[j].b = st[j-1].b;
                  st[j-1].b = swap2;
              }
          }                
      }
      int t;
      t = st[0].b;
      for(i=1;i<n;i++)
      {
                      if(st[i].a > t)
                      {
                                 break;
                                 }
                                 else
                                 {
                                     if(t < st[i].b)
                                     t=st[i].b;
                                 }
                      }
                      if(i != n)
                      {
                                 printf("no");
                       }
else
{
    printf("%d %d",st[0].a,t);
}

      return 0;
}
int main()
{
    int  a[50000],b[50000],sz[50000]={0};
  
    int i,min, max,e,n,j,sum=0,p,k,s;
    double r;
    scanf("%d\n", &n);
     for (i = 0; i< n; i++) {
        scanf("%d %d", &a[i],&b[i]);
       }
     min=0;
     for(i=0;i<n;i++){
         if(a[i]<a[min]){
             min=i;
         }
     }
        max=0;
     for(i=0;i<n;i++){
         if(b[i]>b[max]){
             max=i;
         }
     }
       
                  s=0;
      for(r=a[min]+0.1;r<=b[max]+0.1;r++ ){ 
          
            for(i=0;i<n;i++  ){
                if(r>=a[i]&&r<=b[i]){
                    sum++;
                }
                
            }
            if(sum>0){s++;
            sum=0;
            }
      }
          
      p=b[max]-a[min];
        
        if(s!=p){
            printf("no");
        }else{
    printf("%d %d",a[min],b[max]);}
   return 0;
}
int main(){
int n,i,k;
k=0;
scanf("%d",&n);
int a[n];
int b[n];
for(i=0;i<n;i++){
scanf("%d",&(a[i]));
scanf("%d",&(b[i]));
}
int min,max;
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];
}
}
double h;
for(h=min;h<=max;h=h+0.5){
for(i=0;i<n;i++){
if(h<=b[i]&&h>=a[i]){
k=1;
}
}
if(k==0){
printf("no");
break;
}
if(h==max){
printf("%d %d",min,max);
}
k=0;
}
return 0;
}
int i,j,k,m,n,l,r;
int flag=1;
int minleft,maxright;
int b[20000];
int main(){
    minleft=50001;
    maxright=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&l);
        scanf("%d",&r);
        if(l<=minleft)minleft=l;
        if(r>=maxright)maxright=r;
        for(j=l;j<r;j++){
            b[j]=1;
        }
    }
    for(k=minleft;k<=maxright-1;k++)
    if(b[k]==0){flag=0;break;}
    if(flag==0)printf("no\n");
    else printf("%d %d\n",minleft,maxright);
    return 0;
}
int main(){
    int n,m,i,t,k,e,f,max,g,max1;
    int hz[50000];
	int sz[50000];
	t=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
    scanf("%d %d",&hz[i],&sz[i]);
	}
	for(k=1;k<=n;k++){
	for(i=0;i<n-k;i++){
			if(hz[i]>hz[i+1]){
					e=hz[i+1];
					f=sz[i+1];
					hz[i+1]=hz[i];
					hz[i]=e;
					sz[i+1]=sz[i];
					sz[i]=f;
			}
	}
}
	for(i=0;i<n-1;i++){
		for(g=0;g<=i;g++){
			if(g==0){
			max=sz[g];
		}
		else if((sz[g]>max)){
        max=sz[g];
		}
		}
	if((hz[i+1]>max)){t=1;}
	}
	for(i=0;i<n;i++){
		if(i==0){
			max1=sz[i];
			}
		else if((sz[i]>max1)){
        max1=sz[i];
}
	}
	if(t==1){
		printf("no");}
	else{printf("%d %d",hz[0],max1);}
	return 0;
}
int main(){
    int n,i,k,t,m,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(i=0;i<n;i++){
        if(l[i].y>l[m].y){
            m=i;
        }
    }
    for(k=1;k<n;k++){
        for(i=0;i<k;i++){
             if(l[i].y>=l[k].x){
                  break;
             }
             if(i==k-1&&l[i].y<l[k].x){
                 a=1;
             }
        }
    }
    if(a==0){
            printf("%d %d",l[0].x,l[m].y);
    }
    else{
        printf("no");
    }
    return 0;
}