/*
POJ 2262
哥巴猜想:每个偶素(n >= 4)都可表示成两个素数之和
思路: 打表
*/
#include<iostream>
#include<cstdio>
#define manx 1000009
using namespace std;
bool s[manx];
void prime(){
for(int i=0;i<manx;i++)
s[i]=0;
for(int i=2;i*i<=manx;i++){
if(!s[i]){
for(int j=2;j*i<manx;j++)
s[i*j]=1;
}
}
}
int main(){
prime();
int n;
while(cin>>n,n){
if(n%2){
cout<<"Goldbach's conjecture is wrong." <<endl;
continue;
}
int flag=0;
for(int i=3;i+i<=n;i++){
if(!s[i] && !s[n-i]){
cout<<n<<" = "<<i<<" + "<<n-i<<endl;
flag=1; break;
}
}
if(!flag) cout<<"Goldbach's conjecture is wrong." <<endl;
}
}
/*
POJ 2909
哥巴猜想:每个偶素(n >= 4)都可表示成两个素数之和
思路: 打表
*/
#include<iostream>
#include<cstdio>
#define manx 1000009
using namespace std;
bool s[manx];
void prime(){
for(int i=0;i<manx;i++)
s[i]=0;
for(int i=2;i*i<=manx;i++){
if(!s[i]){
for(int j=2;j*i<manx;j++)
s[i*j]=1;
}
}
}
int main(){
prime();
int n;
while(cin>>n,n){
int flag=0;
for(int i=2;i+i<=n;i++){
if(!s[i] && !s[n-i]){
flag++;
}
}
cout<<flag<<endl;
}
}