#include <iostream>
using namespace std;
int main()
{
int n,flag=0,flag1=1;//flag判断有几对素数 flag1判断n-1是否符合条件
cin>>n;
for(int i=2;i<=(n-2);i++)
{
if((n-1)%i==0)//如果n-1不符合则标记flag1为0
{
flag1=0;
break;
}
}
if(flag1==1)//如果n-1符合则输出,并将计数自加
{
cout<<n<<"="<<1<<"+"<<n-1<<endl;
flag++;
}
for(int i = 2;i <= n/2; i++)
{
int x1 = i,x2 = n-i;
int flag2 = 1,flag3 = 1;//两个标记,分别对应x1、x2。若flag = 1,代表其表示的数字为素数
// 若flag= 0,代表其表示的数字不是素数
/* 判断 x1 是否为质数 */
for(int j = 2;j <=x1-1; j++)
{
if( x1 % j == 0)
{
flag1 = 0;
break;
}
}
/* 判断 x2 是否为质数 */
for(int j = 2;j <=x2-1; j++)
{
if( x2 % j == 0)
{
flag2 = 0;
break;
}
}
if(flag2 == 1 && flag3 == 1 )//若x1、x2均为质数
{
cout<<n<<"="<<x1<<"+"<<x2<<endl;
flag++;
}
}
cout<<"there are "<<flag<<" solutions"<<endl;
return 0;
}