#include <cstdio>
#include <cstring>
#include <cmath>
#include <vector>
using namespace std;
const int N = 1000000 + 10;
void init();
bool vis[N];
vector<int> v;
int main()
{
int n;
#ifndef ONLINE_JUDGE
freopen("uva_in.txt", "r", stdin);
#endif
init();
while (scanf("%d", &n) == 1) {
if (n == 0) break;
printf("%d:\n", n);
if (n & 1) {
if (vis[n - 2]) printf("%d+%d\n", 2, n - 2);
else printf("NO WAY!\n");
continue;
}
for (size_t i = 0; i < v.size(); i++) {
if (n < v[i]) break;
if (vis[n - v[i]]) {
printf("%d+%d\n", v[i], n - v[i]);
break;
}
}
}
return 0;
}
void init()
{
int m = (int)sqrt(N);
memset(vis, true, sizeof(vis));
vis[0] = vis[1] = false;
for (int i = 2; i <= m; i++) {
if (vis[i]) {
for (int j = i * i; j < N; j += i)
vis[j] = false;
}
}
for (int i = 2; i < N; i++) {
if (vis[i])
v.push_back(i);
}
}
10-19
10-19