#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
****************************************************************/