#include <iostream>
#include <fstream>
#include <math.h>
#include <bitset>
#include <vector>
using namespace std;
/* Prime Number */
#define SIZE 1000000LL
bitset<SIZE+1> prime;
vector<int> gpf;
void sieve()
{
int sq = ceil(sqrt(SIZE));
for(int i = 2; i <= sq; ++i)
{
if(!prime.test(i))
{
for(int j = i*i; j <= SIZE; j += i)
prime.set(j,1);
}
}
for(int i = 2;i <= SIZE; ++i)
{
if(!prime.test(i))
gpf.push_back(i);
}
}
bool is_sieve_prime(int num)
{
return !prime.test(num);
}
int main()
{
sieve();
int num;
while( cin >> num )
{
if(!num)
break;
if( num < 4 )
{
printf("Goldbach's conjecture is wrong.\n");
continue;
}
vector<int>::iterator it;
bool found = false;
int sq = ceil(sqrt(num));
for(it = gpf.begin(); (it != gpf.end() && *it <= sq); ++it)
{
int p = *it;
if(is_sieve_prime(num-p))
{
printf("%d = %d + %d\n", num, p, (num - p));
found = true;
break;
}
}
if(!found)
printf("Goldbach's conjecture is wrong.\n");
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPGJpdHNldD4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8qIFByaW1lIE51bWJlciAqLwoKI2RlZmluZSBTSVpFIDEwMDAwMDBMTApiaXRzZXQ8U0laRSsxPiBwcmltZTsKdmVjdG9yPGludD4gZ3BmOwoKdm9pZCBzaWV2ZSgpCnsKICAgICAgICBpbnQgc3EgPSBjZWlsKHNxcnQoU0laRSkpOwogICAgICAgIGZvcihpbnQgaSA9IDI7IGkgPD0gc3E7ICsraSkKICAgICAgICB7CiAgICAgICAgICAgICAgICBpZighcHJpbWUudGVzdChpKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGludCBqID0gaSppOyBqIDw9IFNJWkU7IGogKz0gaSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltZS5zZXQoaiwxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcihpbnQgaSA9IDI7aSA8PSBTSVpFOyArK2kpCiAgICAgICAgewogICAgICAgICAgICAgICAgaWYoIXByaW1lLnRlc3QoaSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGdwZi5wdXNoX2JhY2soaSk7CiAgICAgICAgfQp9Cgpib29sIGlzX3NpZXZlX3ByaW1lKGludCBudW0pCnsKICAgICAgICByZXR1cm4gIXByaW1lLnRlc3QobnVtKTsKfQoKaW50IG1haW4oKQp7CiAgICAgICAgCiAgICAgICAgc2lldmUoKTsKICAgICAgICBpbnQgbnVtOwoKICAgICAgICB3aGlsZSggY2luID4+IG51bSApCiAgICAgICAgewogICAgICAgICAgICAgICAgaWYoIW51bSkKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBpZiggbnVtIDwgNCApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiR29sZGJhY2gncyBjb25qZWN0dXJlIGlzIHdyb25nLlxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZlY3RvcjxpbnQ+OjppdGVyYXRvciBpdDsKICAgICAgICAgICAgICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIGludCBzcSA9IGNlaWwoc3FydChudW0pKTsKICAgICAgICAgICAgICAgIGZvcihpdCA9IGdwZi5iZWdpbigpOyAoaXQgIT0gZ3BmLmVuZCgpICYmICppdCA8PSBzcSk7ICsraXQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGludCBwID0gKml0OwogICAgICAgICAgICAgICAgICAgICAgICBpZihpc19zaWV2ZV9wcmltZShudW0tcCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkID0gJWQgKyAlZFxuIiwgbnVtLCBwLCAobnVtIC0gcCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKCFmb3VuZCkKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJHb2xkYmFjaCdzIGNvbmplY3R1cmUgaXMgd3JvbmcuXG4iKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7Cn0K