#include<stdio.h>
int n;
int a[9999],b[9999],t,ans;
int main()
{
scanf("%d",&n);
a[1]=1;
for(int i=2;i<=n;i++)
if(a[i]==0)
for(int j=2;j*i<=n;j++)
a[i*j]=1;
for(int i=2;i<=n;i++)
if(a[i]==0)
b[++t]=i;
for(int i=1;i<=t;i++)
for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++)
if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j])
ans++;
printf("%d\n",ans);
for(int i=1;i<=t;i++)
for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++)
if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j])
printf("%d=%d+%d+%d\n",n,b[i],b[j],n-b[i]-b[j]);
return 0;
}
/**************************************************************
Problem: 1273
User: admin
Language: C
Result: Accepted
Time:9 ms
Memory:1224 kb
****************************************************************/