#include<cmath>
using namespace std;
int p[2501],k,i,j,q,n;
main(){
p[2]=1,k=1;
cin>>n;
memset(p,0,sizeof(p));
double t1,t2;
t1=(double)clock();
for(q=3;q<=2500;q++){
bool flag=true;
for(i=2;i<=long(sqrt(q));i++){
if(q%i==0){
flag=false;
break;
}
}
if(flag){
p[q]=1;
}
}
if(n>=4)
cout<<"4=2+2";
bool wr=false;
for(q=4;q<=n;q+=2){
bool flag=false;
for(i=2;i<=q&&!flag;i++)
if(p[i]==1&&p[q-i]==1)
cout<<endl<<q<<"="<<i<<"+"<<q-i,flag=true;
}
}
var
now,n,i:integer;
ok:shortint;
procedure try(k:integer);
var
j:integer;
begin
if k=2 then
begin
ok:=ok+1;
exit;
end;
for j:=2 to trunc(sqrt(k)) do
if k mod j = 0 then
exit;
inc(ok);
end;
begin
readln(n);
now:=2;
repeat
inc(now,2);
for i:=2 to (now div 2) do
begin
ok:=0;
try(i);
try(now-i);
if ok=2 then
begin
writeln(now,=,i,+,now-i);
break;
end;
end;
until now=n;
end.
#include<iostream>
#include<cmath>
using namespace std;
bool pd(int x)
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
int n;
int main()
{
cin>>n;
for(int i=4;i<=n;i+=2)
for(int j=2;j<i;j++)
if(pd(j) && pd(i-j))
{cout<<i<<"="<<j<<"+"<<i-j<<endl;break;}
return 0;
}
#include<math.h>
#include<iostream>
using namespace std;
int i,j,k,s,n,a[100005];
int main()
{
cin>>n;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
{
for(j=2;j<=n/i;j++)
a[i*j]=1;
}
for(i=4;i<=n;i+=2)
{
for(j=2;j<=i/2;j++)
{
if(a[j]==0&&a[i-j]==0)
{
cout<<i<<'='<<j<<'+'<<i-j<<endl; break;
}
}
}
}
#include<math.h>
#include<iostream>
using namespace std;
int i,j,k,s,n,a[100005];
int main()
{
cin>>n;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
{
for(j=2;j<=n/i;j++)
a[i*j]=1;
}
for(i=4;i<=n;i+=2)
{
for(j=2;j<=i/2;j++)
{
if(a[j]==0&&a[i-j]==0)
{
cout<<i<<'='<<j<<'+'<<i-j<<endl; break;
}
}
}
}