//* Problem  : 1171 - Goldbach's Conjecture
//* Contest  : acm.tju.edu.cn
//* Type     : Solution
//* Date     : 2007.07.24
//* Author   : alt
//* Language : C++
//* Compiler : Microsoft Visual C++ 6.0

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

int n, res;
unsigned char prime[1000001];

//#define ONLINE_JUDGE

void solve()
{
	res = 0;
	for (int i = 2; i <= n/2; i++)
		if (prime[i] && prime[n-i]) {printf("%i = %i + %i\n", n, i, n - i); return; }
	printf("Goldbach's conjecture is wrong.\n");
}

void fill_prime()
{
	memset(prime, 1, sizeof(prime));
	const int max = 1000000;
	prime[0]=0; prime[1]=0;
	int k=2;
	while (k <= (int)sqrt(1.0 * max))
	{
		int t = 2*k;
		while (t <= max) {prime[t]=0; t+=k;}
		k++;
		while (!prime[k]) k++;
	}
}

int main()
{
	fill_prime();
	while (scanf("%i", &n) && n)
	{
		solve();
	}
}