#include <bits/stdc++.h>
using namespace std;

bool sushu(int n){
	bool f = true;
	int i;
	for(i = 2;i <= sqrt(n);i++){
		if(n % i == 0){
			f = false;
			break;
		}
	}
	if(n <= 1){
		f = false;
	}
	return f;
}

int main(){
	int a[100][3];
	int n,i,j,c = 0,x;
	cin>>n;
	for(i = 2;i <= n / 3;i++){
		if(sushu(i)){
			x = n - i;
			for(j = i;j <= x / 2;j++){
				if(sushu(j) && sushu(x - j)){
					a[c][0] = i;
					a[c][1] = j;
					a[c][2] = x - j;
					c++;
				}
			}
		}
	}
	
	cout<<c<<endl;
	for(i = 0;i < c;i++){
		cout<<n<<"="<<a[i][0]<<"+"<<a[i][1]<<"+"<<a[i][2]<<endl;
	}
}
/**************************************************************
	Problem: 1273
	User: admin
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2072 kb
****************************************************************/