semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int a[50002]={0},i,j,n;
	for (i=2;i<=50000;i++)
	{
		if (a[i]) continue;
		for (j=2;j<=50000/i;j++) a[i*j]=1;
	}
	scanf("%d",&n);
	for (i=6;i<=n;i+=2)
	{
		for (j=3;j<=i/2;j+=2)
			if (!a[j] && !a[i-j]) break;
		printf("%d=%d+%d\n",i,j,i-j);
	}
	return 0;
}
void main()
{
	long n,i;
		scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{long m=i;
	int l=3,a=1;
		do
		{int r,k;
		k=sqrt(l);
		for(r=3;r<=k;r=r+2)
			if(l%r==0)break;
			if(r>=k+1)
			{
			int s;
			s=m-l;
			int t=sqrt(s);
			int j;
			for(j=3;j<=t;j=j+2)
			if(s%j==0)break;
			if(j>=t+1)
			{
			printf("%d=%d+%d\n",m,l,s);
			a=0;}
			else l=l+2;
			}
			else l=l+2;
		}
		while(a!=0);
	}
}
void main()
{
	int n,k,x,m,i,a,b,c,d,e;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{
		for(m=2;m<=n;m++)
		{
			d=sqrt(m);
			for(x=2;x<=d;x++)
			{
				if(m%x==0)break;
			}
			if(x>d)
			{
				a=i-m;
				e=sqrt(a);
				for(b=2;b<=e;b++)
				{
					if(a%b==0)break;
				}
				if(b>e)
				{
					printf("%d=%d+%d\n",i,m,a);break;
				}
			}

		}
	}
}
int n,i,j,k,x,a[1001];

int main()
{
	int sushu(int n);
	void jiafa(int x);
	scanf("%d",&n);
	for(j=6;j<=n;j+=2)
	{
		jiafa(j);
	}
	return 0;
}

int sushu(int n)
{
	if(n%2==1)
	{
		for(k=3;k<=sqrt(n);k+=2)
			if(n%k==0)
				return 0;;
			return 1;
	}
	else
		return 0;
}

void jiafa(int n)
{
	for(i=3;i<=n/2;i+=2)
	{
		if(sushu(i))
		{
			if(sushu(n-i))
			{
				printf("%d=%d+%d\n",n,i,n-i);
				break;
			}
		}
	}
}
int main(int argc, char* argv[])
{
	long int zhi(long int n);
	long int n,k=6,i;
	scanf("%ld",&n);
	while (k<=n)
	{
		for(i=2;i<k;i++)
		{
			if (zhi(i))
				if (zhi(k-i))
				{
				printf("%ld=%ld+%ld\n",k,i,k-i);
			break;
				}
		}
		k=k+2;
	}
	return 0;
}
long int zhi(long int n)
{
	long int i;
	if (n%2==0)
		return 0;
	for (i=3;i<=sqrt(n);i++)
	{
		if (n%i==0)
		{
			return 0;
		break;
		}
	}
	return 1;
}
int ss(int n)            /*??n????????????1?????0*/
	{
	int i;
	for (i=2; i<=(int)sqrt(n); i++)
		if (n%i==0) 
			return 0;
			return 1;
	}

int main()
{
	int i,j,iLine,m;
	scanf("%d",&m);
	for (i=6; i<=m; i+=2)
		for (j=3; j<i; j++) 
		{
			if (ss(j)&&ss(i-j)) 
			{
				printf("%d=%d+%d\n",i,j,i-j);
				iLine++;
			if (iLine%5==0) putchar('\r');
				break;
			}
		}
 return 0;
}
// change it according to the range required
const int Size = 50001;

int main()
{
  short IsP[Size];
  long N, I, J;
  cin >> N;
  for (I = 1; I <= N; I ++) IsP[I] = 1;
  IsP[2] = 1;
  for (I = 2; I <= N; I ++)
  if (IsP[I])
  {
    J = 2 * I;
    while (J <= N)
    {
      IsP[J] = 0;
      J += I;
    }
  }
  for (I = 6; I <= N; I += 2)
    for (J = 3; J <= I - 3; J ++)
      if (IsP[J] && IsP[I - J])
      {
	cout << I << "=" << J << "+"  << (I - J) << endl;
	break;
      }
  return 0;
}
int pd(int n)
{  int k,i,j;
   k=sqrt(n);
   if(n==1)return 0;
   else if(n==2)return 1;
   else
   for(i=2;i<=k;i++)
	   if(n%i==0)break;
	   if(i>k)return 1;
	   else return 0;
}
void main()
{
	int n,j,i;
	scanf("%d",&n);
	for(i=6;i<=n;i+=2)
		for(j=2;j<i;j++)
			if(pd(j)==1&&pd(i-j)==1)
			{
				printf("%d=%d+%d\n",i,j,i-j);
				break;
			}
}
int main()
{
	int n , m , m1 , m2 , k , j , i , h , a;

	cin >> n ;

	for( m = 6 ; m <= n ; m = m + 2 )
	{
		a = 0 ;

		for( m1 = 3 ; m1 <= m / 2 ; m1 = m1 + 2 )
		{
			if( a == 0 )
			{
				k = sqrt( m1 ) ;

				//??m1?????
				for( i = 3 ; i <= k ; i = i + 2 )
					if( m1 % i == 0 )
						break ;

				if( i >= k + 1 )
				{
					//?m1??????m-m1?????
				    m2 = m - m1 ;
					j = sqrt( m2 ) ;

					for( h = 3 ; h <= j ; h = h + 2 )
						if( m2 % h == 0 )
							break ;

					if( h >=  j + 1 )
					{
						cout << m << '=' << m1 << '+' << m2 << endl ;
						a = 1 ;
					}
				}
			}
		}
	}

	return 0 ;
}
int sushu(int x)
{
	int z,t,k;
	k=(int)sqrt(x);
	for(t=2;t<=k;t++)
		if(x%t==0) break;
		if(t>k) z=1;
			else z=0;
			return z;
}
void main()
{
	int n,i,j;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{
		for(j=3;j<=i;j=j+2)
			if(sushu(j)&&sushu(i-j))
			{
			printf("%d=%d+%d\n",i,j,i-j);
			break;
			}
	}
}
int pri(int a)
{
   int i;
   if(a%2==0) return 0;
   for(i=3;i<=sqrt(a);i+=2){
   if(a%i==0) return 0;
   }
   return 1;
}
int main()
{
   int n;
   scanf("%d",&n);
   int i,j;
   for(i=6;i<=n;i+=2){
       if(pri(i-2)==1) {printf("%d=2+%d\n",i,i-2);continue;}
       for(j=3;j<=i/2;j+=2){
       if(pri(j)==1&&pri(i-j)==1) {printf("%d=%d+%d\n",i,j,i-j);break;}
       }
       }
       
   }
int p[50001];

int main() {
	int n, i, j;
	scanf("%d", &n);
	p[0] = p[1] = 0;
	for (i = 2; i <= n; ++i) {
		p[i] = 1;
		for (j = 2; j * j <= i; ++j)
			if (i % j == 0) {
				p[i] = 0;
				break;
			}
	}
	for (i = 6; i <= n; i += 2)
		for (j = 3; j <= n; j += 2)
			if (p[j] && p[i - j]) {
				printf("%d=%d+%d\n", i, j, i - j);
				break;
			}
	return 0;
}
int check(int n){
	int i;
	for(i=3;i*i<=n;i=i+2){
		if(n%i==0)break;
	}
	if(i*i>n)return 1;
	else return 0;
}

int main(){
	int n,i,j;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2){
		for(j=3;j<=i/2;j=j+2){
			if(check(j)!=0&&check(i-j)!=0){
				printf("%d=%d+%d\n",i,j,i-j);
				break;
			}
		}
	}
	return 0;
}
int main(){
    int  s[50000];//?????????????????
	int n,a,p1,p2,c;
	int i,j=3,v,k,h;
	scanf("%d",&n);
	do{
    	    a=0;
    	    for(i=2;i<=sqrt(j);i++){
    		     if((j%i)==0){
                             a=1;
    			             break;
                 }
    		}
    	    if(a==0){                    
                       s[j]=j;
            }
            j++;
       }while(j<n);//???????????
    for(v=6;v<=n;v=v+2)
	{	
		c=0;
       for(k=3;k<=v/2;k=k+2)
	   {
		   p1=s[k];
		   if(s[k]!=k)
		   {
			   continue;
		   }
	       /*for(h=v-k;h>=v/2;h=h-2)
		   {
			   p2=h;
	           if(p2==s[h])
			   {
		    	  printf("%d=%d+%d\n",v,p1,p2);
		          c=1;
			   }
			   break;
		   }*/
         h=v-k;
		 p2=h;
	           if(p2==s[h])
			   {
		    	  printf("%d=%d+%d\n",v,p1,p2);
		          c=1;
			   } 
		if(c==1){break;}
	   }
	}
    return 0;
}
void main()
{
	int n,i,j,k,x,y;
	scanf("%d",&n);
	for(i=6;i<=n;i+=2)
	{
		for(x=3;x<=n/2;x++)
		{
			for(j=2;j<=sqrt(x);j++)
				if(x%j==0)
					break;
			if(j<=sqrt(x)) 
				continue;
			y=i-x;
			for(j=2;j<=sqrt(y);j++)
				if(y%j==0)
					break;
			if(j>sqrt(y))
			{
				printf("%d=%d+%d\n",i,x,y);
				break;
			}
		}
	}
}
main()
{
	long a,i,q,p,j,t;
	scanf("%ld",&a);
	for(i=6;i<=a;i+=2)
		for(p=3;p<=i/2;p+=2)
		{
			t=0;
			for(j=3;j*j<=p;j+=2)
				if(p%j==0)
				{
					t=1;
					break;
				}
			if(t)
				continue;
			q=i-p;
			for(j=3;j*j<=q;j+=2)
				if(q%j==0)
				{
					t=1;
					break;
				}
			if(!t)
			{
				printf("%ld=%ld+%ld\n",i,p,q);
				break;
			}
		}
}
int prime(int n)            
{
 int i;
 for (i=2;i<=(int)sqrt(n); i++)
 {   if (n%i==0) 
	   return 0;
 }
 return 1;
}
int main(int argc, char* argv[])
{
 int i,j;
 int n;
 scanf("%d",&n);
 for (i=6;i<=n;i+=2)
    for (j=3;j<i;j++) 
	{
     if (prime(j)&&prime(i-j)) 
	 {
        printf("%d=%d+%d\n",i,j,i-j);
      break;
     }
    }
 return 0;
}
int main(int argc, char* argv[])
{
	int n;
	scanf("%d",&n);
	int r=3,s=0,q=0;
	int p[100000];
    p[0]=2;
    for (r=3;r<=n;r++){
	   for(s=0;p[s]*p[s]<r;s++){
	        if (r%p[s]==0){
		        break;
			}
	   }
	   if(p[s]*p[s]>r){
		  p[q+1]=r;
		  q++;
	   }
	}

	int i,j,k,m;
	for (i=6;i<=n;i=i+2){
		for(j=0;p[j]<=i/2;j++){
			m=i-p[j];
			for(k=0;p[k]*p[k]<i;k++){
				if(m%p[k]==0){
					break;
				}
			}
			if(p[k]*p[k]>i){
				printf("%d=%d+%d\n",i,p[j],m);
				break;
			}
		}
	}
	return 0;
}
int F(long int m)
{
	long int i;
	if(m%2==0)
		return 0;
	for(i=3;i<=sqrt(m);i+=2)
	{
		if(m%i==0)
			return 0;
	}
	return 1;
}
void main()
{
	long int i,j,n;
	scanf("%ld",&n);
	for(i=6;i<=n;i+=2)
	{
		for(j=3;j<=(i/2);j+=2)
		
			if(F(j)==1&&F(i-j)==1)
		{
				printf("%ld=%ld+%ld\n",i,j,i-j);
			break;
		}
	}
}
int main(int argc, char* argv[])
{
	int prime(int p);
	int n,i,k;
	scanf("%d",&n);
	for(i=6;i<=n;i++,i++)
	{
       for(k=3;k<n/2;k++,k++)
	   {
		   if(prime(k)+prime(i-k)==2)
		   {
			   printf("%d=%d+%d\n",i,k,i-k);
			   break;
		   }
	   }
	}
	return 0;
}

int prime(int p)
{
	int isprime=1;
	int j;
	if(p==3||p==5||p==7)
	{
		return isprime;
	}
	else 
	{
		for(j=3;j<=sqrt(p);j++,j++)
		{
			if(p%j==0)
			{
				isprime=0;
				return isprime;
				break;
			}
		}
	}
	return isprime;
}
int ss(int x)
{
	int i,t;
	t=1;
	for(i=2;i<=sqrt(x);i++)
	{ if(x%i==0) {t=0;break;}}
	return(t);
}
main()
{
	int n,i,j;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{ for(j=3;j<=n/2;j++)
	{ if(ss(j)&&ss(i-j)) { printf("%d=%d+%d\n",i,j,i-j);break;}
	}
	}
}
/*
????5.cpp
??????
???2010.10.23
???????????
*/
int main()
{
	int n, i, j, sqr, k1, k2;
	cin >> n;
	for(i=6;i<=n;i=i+2)					//??6?12???????
	{
		for(k1=3;k1<=i/2;k1=k1+2)		//?k1????????
		{
			sqr = (int) sqrt(k1);
			for(j=2;j<=sqr;j++)
			{
				if(k1 % j == 0) break;
			}
			if(j == sqr + 1)			//?k1?????k2=i-k1???k2
			{
				k2 = i - k1;
				sqr = (int) sqrt(k2);
				for(j=2;j<=sqr;j++)	
				{
					if(k2 % j == 0) break;
				}
				if(j == sqr + 1)		//?k2???????????????
				{
					cout << i << "=" << k1 << "+" << k2 << endl;
					break;
				}
			}
		}
	}
	return 0;
}
int main()
{
	int n,i=0,j=0,m[100]={0},t,k,flag[2]={0,0};
	cin>>n;
	for(i=6;i<=n;i+=2)
	{
		for(j=3;j<=i/2;j+=2)
		{
			flag[0]=0;
			for(t=3;t<=sqrt(j);t+=2)
			{
				if(j%t==0)
				{
					flag[0]=1;
					break;
				}
			}
			if(flag[0]==1)
			{
				continue;
			}
			flag[1]=0;
			for(k=3;k<=sqrt(i-j);k+=2)
			{
				if((i-j)%k==0)
				{
					flag[1]=1;
					break;
				}
			}
			if(flag[1]==1)
				continue;
			else
			{
				cout<<i<<'='<<j<<'+'<<i-j<<endl;
				break;
			}
		}
	}
	return 0;
}
int work(int n);
int main()
{
    unsigned int num,n;
    unsigned int a,b;
    scanf("%ud",&num);
    for(n=6;n<=num;n+=2)
       {
         printf("%ld=",n);
         for(a=2;a<n;a++)
            {
              if(work(a))
              {
                b=n-a;
                if(work(b))
                  {
                    printf("%ld+%ld",a,b);
                    break;
                    }  
                } 
              }
            printf("\n");
         }
         
    return 1;
}

int work(int n)
{
    int i,sqr;
    sqr=(int)sqrt(n);  
    //if(n==2) return 1;               
    for(i=2;i<=sqr+1;i++)
       {
        if(n%i==0)return 0;
        }
    return 1;
}
int main(int argc,char*argv[]) 
{ 
   int n,r,i,j,x,y,flag=0;
   scanf("%d",&n);
	   for(i=6;i<=n;i=i+2)
	   {
		   flag=0;
		   for(j=2;j<=i/2;j++)
		   {
			   int tag=0;
			   for(r=2;r<=sqrt(j);r++)
			   {
				   if(j%r==0)
				   { 
					   tag=1;
					   break;
				   }
			   }
			   if(tag==1)
				   continue;
				for(r=2;r<=sqrt(i-j);r++)
				{
				    if((i-j)%r==0)
					{
						 tag=1;
						break;
					}
				}
				if(tag==1)
				   continue;
                x=j;
				y=i-j;
				printf("%d=%d+%d\n",i,x,y);
				flag=1;
				break;

		   }if(flag==1)continue;
	   }
		   return 0;
}
int m(int x)
  {int i,c=0;
   for (i=2;i<=sqrt(x);i++)
  {
   if (x%i==0) c=c+1;
  } 
  if (c==0) return (x);
  else return (0);
  }
void f(int y)
{ int i,a,b;
  int m(int x);
  void p (int x,int y);
  for (i=2;i<=y;i++)
   { 
	a=m(i); b=m(y-i);
   if (a+b==y)
   { 
    p (i,y-i);
    break;
   }
  }
}
void p (int x,int y)
{
 printf ("%d=%d+%d\n",x+y,x,y);
}
main()
{int a=0,n=0,i=0;
void f(int y);
scanf("%d",&n);
for (i=6;i<=n;i++)
  {
   if (i%2==0) f(i);
  }
}
int sushu( int x )
{
	int j;
	if( x == 2 )
		return 1;
	for(j = 2; j <= sqrt( x ); j ++)
	    if(x % j == 0)
			return 0 ;
	return 1;

}
void main()
{
    int i, n, m;
	scanf("%d", &n );
	for(m = 6; m <= n; m += 2)
	{
        for(i = 2; i <= m / 2; i ++)
		    if((sushu( i ) == 1) && (sushu( m - i ) == 1))
			{
			    printf("%d=%d+%d\n", m, i, m - i);
			    break;
			}
	}


}
main()
{
	long a,b,i,j,n,x,k,t;
	scanf("%ld",&n);
	i=6;
	while(i<=n)
	{
		k=2;
		b=1;
		x=1;
		while(k<=(i/2))
		{
			j=2;
			b=1;
			a=sqrt(k);
			while(j<=a)
			{
				x=(k%j!=0);
				b=b&&x;
				j++;
			}
			if(b==1)
			{
				j=2;
				b=1;
				a=sqrt(i-k);
				while(j<=a)
				{
					x=((i-k)%j!=0);
					b=b&&x;
					j++;
				}
				if(b==1)
					printf("%d=%d+%d\n",i,k,i-k);
			}
			k++;
			if(b==1)
				break;
		}
		i=i+2;
	}
}
void main( )
{int i,j,k1,k2,a1,a2,n;
 scanf("%d",&n);
  for( i=6;i<=n;i+=2)
  {int a=i;
   for(j=3;j<=a;j+=2)
   { a1=j,a2=a-j;
     {for(k1=3;k1<=sqrt(a1);k1+=2) 
		 if(a1%k1==0) 
			 break;
	  for(k2=3;k2<=sqrt(a2);k2+=2) 
		  if(a2%k2==0) 
			  break;
	  if(k1>sqrt(a1)&&k2>sqrt(a2))
	  {printf("%d=%d+%d\n",a,a1,a2);
	  break;}
	}
   }
  }
}
int prime[50002];

int main()
{
	int N;
	cin>>N;
	for(int i = 2; i <= N; i++)
		prime[i] = 1;
	for(int i = 2; i <= N / 2; i++)
		prime[i * 2] = 0;
	int p = 2;
	while(p * p <= N)
	{
		p = p + 1;
		while(prime[p] == 0)
			p++;
		int t = p * p;
		int s = 2 * p;
		while(t <= N)
		{
			prime[t] = 0;
			t = t + s;
		}
	}
	for(int i=6;i<=N;i+=2)
	{
		for(int j=3;j<=N-j;j+=2)
		{
			if(prime[j]==1&&prime[i-j]==1)
			{
				cout<<i<<"="<<j<<"+"<<i-j<<endl;
				break;
			}
		}
	}
}
int main()
{
    int i,y,k,x;
	int c(int n);
	scanf("%d",&x);
	for (k=6;k<=x;k+=2)
	for (i=2;i<k;i++) 
	{
		if (c(i)) y=k-i;
		if (c(y)) printf("%d=%d+%d\n",k,i,y);else continue;
		break;
	}

	return 0;
}
int c(int n)
{
	int m;
	for (m=2;m<=sqrt(n);m++) if (n%m==0) {n=0;break;}
    return (n!=0?1:0);
}
int main()
{
	int m,n,i,j,a,b;
	scanf("%d",&m);
	for(n=6;n<=m;n+=2)
	{
		for(a=3;a<=n/2;a+=2)
	    {
		for(i=3;i<=sqrt((float)a);i+=2)
			if(a%i==0)break;
		if(i<=sqrt((float)a))continue;
		else
			for(j=3,b=n-a;j<=sqrt((float)b);j+=2)
				if(b%j==0)break;
		if(j<=sqrt((float)b))continue;
		else break;
	    }
	    printf("%d=%d+%d\n",n,a,b);
	}
}
int is_sushu(int k)
{
	int i;
	double u;
	if(k==2||k==3||k==5||k==7) return 1;
	for (i=3;i<=sqrt(k);i=i+2)
	{
		u=k%i;
		if(u==0) return 0;
	}
	if (u!=0) return 1;

}


int main(int argc, char* argv[])
{
    int n,h,k;
    scanf("%d",&n);
	for(h=6;h<=n;h=h+2)
	{  
       for(k=3;k<=n/2;k=k+2)
	   {
              if(is_sushu(k)+is_sushu(h-k)==2)
			  {
				  printf("%d=%d+%d\n",h,k,h-k);
				  break;
			  }
	   }


	}

	

	return 0;
}
int prime(int m)
{
  int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k) return(1);
else return(0);
}

void main()
{
	
int n,x,e,f;
scanf("%d",&n);
for(x=6;x<=n;x=x+2)
{
e=2;
while(e<=x/2)
{
f=x-e;
if(prime(e)==1&&prime(f)==1)
{
printf("%d=%d+%d\n",x,e,f);
break;
}
else e++;
}
}

}
int main(int argc, char* argv[])
{
	int m = 6, n, even = 6, odd;
	int su(int x);
	scanf("%d", &n);
    while(m <= n)
	{
		odd = 3;
		while(odd < m)
		{
			if(su(odd) == 1)
			{
				if(su(m - odd) == 1)
				{
					printf("%d=%d+%d\n", m, odd, m - odd);
					break;
				}
				else
					odd += 2;
			}
			else
				odd += 2;
		}
	    m += 2;
	}
    return 0;
}

int su(int x)
{
	int i;
	for(i=3;i<=sqrt(x)+1;i+=2)
	{
		if(x%i == 0)
		{
			return 0;
		}

	}
    return 1;
}
void main()
{
	int prime(int x);
	int n,i,j,k;
	scanf("%d",&n);
	for(i=6;i<=n;i++)
	{
		if(i%2==0)
		{
			for(j=2;j<=i/2;j++)
			{
				k=i-j;
				if(prime(j)==1&&prime(k)==1)
				{
					printf("%d=%d+%d\n",i,j,k);
					break;
				}
			}
		}
	}
}
int prime(int x)
{
	int i,k;
	if(x==2) return 1;
	k=sqrt(x);
	for(i=2;i<=k;i++)
	{
		if(x%i==0) break;
	}
	if(i>k) return 1;
	else return 0;
}
void main()
{
	int x,y,i,j,k,l,n,m;
	scanf("%d",&n);
	m=6;
	while(m<=n)
	{
	x=3;
judx:k=sqrt(x);
	i=3;
	while(i<=k)
	{
	    if(x%i!=0)
	    i=i+2;
		else 
		{
judy:x=x+2;
			goto judx;
		}
	}
     y=m-x;
	 l=sqrt(y);
	 j=3;
	 while(j<=l)
	 {
		 if(y%j!=0)
			 j=j+2;
		 else goto judy;
	 }
	 printf("%d=%d+%d\n",m,x,y);
	 m=m+2;
	}
}
main()
{long int i,j,k,n,n_,a,b,c;
scanf("%d",&n);
 for(k=6;k<=n;k+=2) 
 {n_=k;j=1;
   do 
   {c=0;
    j=j+2;
    a=j;
    b=n_-j;
    for(i=3;i<=sqrt(a);i=i+2) 
    if(a%i==0) c=1;
    for(i=3;i<=sqrt(b);i=i+2) 
	if(b%i==0) c=1;
   }
 while(c==1);
 printf("%d=%d+%d\n",n_,a,b);
 }
}
int main()
{
	int n;
	cin>>n;
	int i;
	for(i=6;i<=n;i=i+2)
	{
		int j=3;
		int k=3,t=0,l=0;
        int p=0;
		while(1)
		{
		   p=0;
		   t=0;
		   l=0;
			for(k=3;k<=sqrt(j);k++)
		{
			if(j%k==0)
				t=1;
		}
		//if(t==0)
	//	{
			for(k=3;k<=sqrt(i-j);k++)
			{
				if((i-j)%k==0)
					l=1;
			}
	//	}
		if(t==0&&l==0)
		{
			cout<<i<<"="<<j<<"+"<<i-j<<endl;
			break;
			p=1;
		}
		j=j+2;
		}
	//	while(p==0);
	}
	return 0;
}
//??????



int ispo(int m)
{
	int i;
	for(i=3;i<=sqrt(m);i++)
		if (m%i==0)
			return 0;
		return 1;
}


int stevie()
{int i,j,a,b;
int n;
cin>>n;
for(i=6;i<=n;i+=2)
{
	for(j=3;j<=(i/2);j+=2)
		if((ispo(j))&&(ispo(i-j)))
		{
			cout<<i<<"="<<j<<"+"<<i-j<<endl;
			break;
		}
}

	
return 1;
}

int main()
{int a;
/*clock_t start=clock();

for(int i=1;i<100;++i)*/
a=stevie();
//cout<<"time "<<(clock()-start)/CLK_TCK<<endl;
return 0;
 }
int pd(long k)
{ 
	int a,j;
		for (j=2;j<=(sqrt(k));j++)
		    if (k%j==0)
				break;
		if(j>(sqrt(k))) a=1;
		else a=0;
	return(a);
}
void fj(long n)
{    
	long i,m;
	for (i=3;i<n;i=i+2)
	{
	    m=n-i;
		if (pd(i)>0 && pd(m)>0)
		{
			printf("%ld=%ld+%ld\n",n,i,m);
		    break;
		}
	}
}
void main()
{
	long h,b;
	scanf("%ld",&h);
	for(b=6;b<=h;b=b+2)
		fj(b);
}
int sushu(int n)
	{
		int i,m;
		m=sqrt(n)+1;
		for(i=2;i<m;i++)
		{
           if(n%i==0)
			   break;
		}
		if(i==m)
			return(1);
		else 
			return(0);
	}
void main()
{
	int n;
	scanf("%d",&n);
	int i,k;
	for(i=6;i<=n;i=i+2)
	{
       for(k=3;k<=n;k++)
	   {
		   if(sushu(k)==1&&sushu(i-k)==1)
		   {printf("%d=%d+%d\n",i,k,i-k);
		   break;}
	   }
	}
}
void main()
{
	int p(long x);
	long n,m,i;
	scanf("%d",&n);
    for(i=3;2*i<=n;i++)
	{
		for(m=3;m<=i;m++)
			if(p(m)==1&&p(2*i-m)==1)
			{
				printf("%ld=%ld+%ld\n",2*i,m,2*i-m);
				break;
			}
	}
}
int p(long x)
{
	long i,c=1;
	for(i=2;i<=sqrt(x);i++)
	{
		if(x%i==0)
		{
			c=0;
			break;
		}
	}
	return(c);
}
int main()
{
	int sushu[20000]={0},n,i,j,k,count=0,biaoji[50000]={0};
	sushu[0]=2;
	sushu[1]=3;
	k=2;
	biaoji[2]=biaoji[3]=biaoji[5]=1;
	scanf("%d",&n);
	for (i=5;i<n;i=i+2)
	{
		count=0;
		for(j=0;j<k;j++)
		{
			if(i%sushu[j]==0)
			{
				count=1;
				break;
			}
		}
		if (count==0)
		{
			sushu[k]=i;
			biaoji[i]=1;
			k++;
		}
	}
        
	for (i=6;i<=n;i=i+2)
	{
		count=0;
		for (j=0;sushu[j]<=i/2;j++)
		{
			if (biaoji[i-sushu[j]]==1)
			{
				printf("%d=%d+%d\n",i,sushu[j],i-sushu[j]);
				count=1;
				break;
			}
		}
		
	}
        
        
	return 0;
}
int main()
{
    int n;
    scanf("%d\n",&n);
    int i,j,k;
    int v,w;
    i=6;
    do
    {
      for(j=3;j<=i/2;j+=2)
      {
       if(sqrt(j)<3)
       {w=1;}
       else
       {
         for(k=3;k<=sqrt(j);k+=2)
         {
           if(j%k==0)
           {w=0;break;}
           else {w=1;}
          }
       }
       if(sqrt(i-j)<3)
       {v=1;}
       else
       {
          for(k=3;k<=sqrt(i-j);k+=2)
          {
            if((i-j)%k==0)
            {v=0;break;}
            else {v=1;}
           }
       }
       if(w==1&&v==1)
       {printf("%d=%d+%d\n",i,j,i-j);
       i=i+2;
       break;}
      }
     }while(i<=n);
return 0;
}
int prime[50001];
int isPrime(int a)
{
        for(int i=2;i*i<=a;i++)
                if(a%i==0)
                {
                        return 0;
                }
        return 1;
}
int main()
{
        int n;

        cin>>n;
        prime[2]=1;
        for(int i=6;i<=n;i+=2)
        {
                if(isPrime(i-2))
                        {
                                cout<<i<<"="<<2<<"+"<<(i-2)<<endl;
                                continue;
                        }

                for(int j=3;j*2<=i;j+=2)
                {
                        if(isPrime(j)&&isPrime(i-j))
                        {
                                cout<<i<<"="<<j<<"+"<<(i-j)<<endl;
                                break;
                        }
                }
        }
        return 0;
}
void main()
{ int n,k=6,p,q,i,j;
  scanf("%d",&n);
loop:while(k<=n)
  {for(p=3;p<=k/2;p=p+2)
  { for(i=3;i<=(int)sqrt(p);i=i+2) 
      if(p%i==0) break;
      if(i>(int)sqrt(p)) 
	  {q=k-p;
       for(j=3;j<=(int)sqrt(q);j=j+2)
       if(q%j==0) break;
       if(j>(int)sqrt(q)) 
	   { printf("%d=%d+%d\n",k,p,q); k=k+2;goto loop;}}}
  
  k=k+2;}
}
int main ()
{
	int n,j,m;
	int sushu(int a);
	scanf ("%d", &n);
	for (j=6;j<=n;j+=2)
	{
		for (m=3;m<=(n/2);m+=2)
		{
			if (sushu(m)+sushu(j-m)==2)
			{
				printf ("%d=%d+%d\n", j,m,j-m);
				break;
			}
		}
	}
	return 0;
}

int sushu (int a)
{
	int i;
	for (i=3;i<=sqrt(a);i+=2)
	{
		if (a%i==0)
		{
			return 0;
			break;
		}
	}
	return 1;
}
int main()
{
	int n,j,b;
	int i;
	int a[50001];
	a[0]=a[1]=1;
	cin>>n;
	for( i=2 ; i<n ; i++ )
	{
		a[i]=0;
	}
	for( i=4 ; i<n ; i++ )
	{
		for( j=2 ; j<230 && j<=i/2 ; j++ )
		{
			if( a[j]==1 )
			{
				continue;
			}
			if( i%j==0 )
			{
				a[i]++;
				i++;
				j=1;
			}
		}
	}
	for( i=3 ; i<=n/2 ; i++ )
	{
		for( j=3 ; j<=n/2 ; j++ )
		{
			if( a[j]==1 )
			{
				continue;
			}
			if( a[2*i-j]==0 )
			{
				cout<<2*i<<"="<<j<<"+"<<2*i-j<<endl;
				i++;
				if( i>n/2 )
				{
					break;
				}
				j=2;
			}
		}
	}
}
int sushu(int n)
{
	int s,i;
	if(n==2) return 1;
	if(n==3) return 1;
	s=0;
	if(n%2==0) s=1;
	for(i=3;i<=sqrt(n);i=i+2)
	{
		if((sushu(i)==1)&&(n%i==0))
		{
			s=1;
			break;
		}
	}
	if(s==0) return 1;
	else return 0;
}
int main()
{
	int n,i,j;
	scanf("%d",&n);
	for(j=6;j<=n;j=j+2)
	{
		for(i=3;i<=j/2;i=i+2)
		{
			if((sushu(i)==1)&&(sushu(j-i)==1))
			{
				printf("%d=%d+%d\n",j,i,j-i);
				break;
			}
		}
	}
	return 0;
}
int main()
{
	int n,A[50003],i,j,k;
	cin>>n;
	for(i=1;i<=n;i++)
		A[i]=1;
	for(i=4;i<=n;i+=2)
		A[i]=0;
	A[1]=0;
	for(i=3;i<sqrt((double)n);i+=2)//???????
		for(k=2;k*i<=n;k++)
		{
			A[k*i]=0;
		}
	for(i=6;i<=n;i+=2)
		for(j=2;j<i;j++)
			if(A[j]==1&&A[i-j]==1)//?????????
			{
				cout<<i<<"="<<j<<"+"<<i-j<<endl;
				break;
			}
	return 0;
}
main()
{
	int i,n,j,m,k,a;
	scanf("%d",&a);
	for(i=6;i<=a;i+=2)
	{
		for(n=3;n<i;n+=2)
		{
			for(j=3,k=1;j<=(int)sqrt(n);j+=2)
			{
				if(n%j==0) k=0;
			}
			for(j=3,m=1;j<=(int)sqrt(i-n);j+=2)
			{
				if((i-n)%j==0) m=0;
			}
			if(m==1&&k==1)
			{
				printf("%d=%d+%d\n",i,n,i-n);
		         break;
			}
		}
	}
}
void main()
{
	int n,k,i,j,t,m;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{
		for(j=2;j<=i;j++)
		{
			k=sqrt(j);
			for(t=2;t<=k;t++)
			{
				if(j%t==0) break;
			}
			if(t==k+1) 
			{
				m=i-j;
				k=sqrt(m);
				for(t=2;t<=k;t++)
				{
					if(m%t==0) break;
				}
			if(t==k+1)
			{
				printf("%d=%d+%d\n",i,j,m);
				break;
			}
			}

		}
	}
}
int main()

{long int a[60000],i,j,o,n;
scanf("%d",&n);
a[1]=0;
a[2]=1;
a[3]=1;
a[4]=0;
a[5]=1;
a[6]=0;
for(i=7;i<=n;i=i+2)
{o=0;
for(j=3;j<i;j=j+2)
{
if (i%j==0){a[i]=0;o=1;break;}}
if(o==0)a[i]=1;
}
for(i=6;i<=n;i=i+2)
{
for(j=3;j<=i/2;j=j+2)
{
if(a[j]==1&&a[i-j]==1){printf("%d=%d+%d\n",i,j,i-j);
break;}}
}}
int main()
{
	int n,i,j,k,su,su2,q=0;
	scanf("%d",&n);
	for(i=6;i<=n;i=i+2)
	{
		for(j=3;(2*j)<=i;j=j+2)
		{
			su=j;
			su2=i-su;
			for(k=3;(k*k)<=i;k=k+2)
			{
			if((((su%k)==0)&&(su>k))||(((su2%k)==0)&&(su2>k)))
			{
			q=1;
			break;
			}
			}
			if(q==0)
			{
			printf("%d=%d+%d\n",i,su,su2);
		    break;
			}
			else
			q=0;
				
		}
	}
}
int Set(int a)
{
	int i,w=1;
	if (a%2==0)
	{w=0;goto loop;}
	for (i=3;i<sqrt(a)+1;i=i+2)
	{
		if (a%i==0)
		{
			w=0;
		}

	}
loop:return (w);
}
int main ()
{
	long int i=6,n,j,f;
	scanf("%d",&n);
	while (i<n+1)
	{
		for (j=3;j<i;j=j+2)
		{
			if(Set(j)==1)
			{
			    f=Set(i-j);
			    if (f==1)
			    {
				printf("%d=%d+%d\n",i,j,i-j);
				break ;
			    }
			}
		}
		i=i+2;
	}
	return 0;
}
void main()
{
	int a=6,b=3,c,d,e,f,n;
	
	scanf("%d",&n);
	for(a=6;a<=n;a=a+2)
	{		
		for(b=3;b<=a;b=b+2)
		{   
			c=(int)(sqrt(b));
			for(d=2;d<=c;d++)
			{
				if(b%d==0) break;
			}
			if(d>=c+1)
			{
			 f=a-b;
			 e=(int)(sqrt(f));
             for(d=2;d<=e;d=d++)
				if(f%d==0) break;
			}
		if(d>=e+1) break;
		}		
		printf("%d=%d+%d\n",a,b,f);
	}
}