#include <iostream>
#include <cstring>
using namespace std;

bool p[1000002];

void mkPrime(void){
	memset(p,true,sizeof(p));
	p[0] = p[1] = false;
	for(int i=0;i<=1000000;i++){
		if(p[i]){
			for(int j=i+i;j<=1000000;j+=i){
				p[j] = false;
			}
		}
	}
}

int main(void){
	int n;
	mkPrime();

	while(cin>>n,n){
		int ans = 0;
		for(int i=0;i<n;i++){
			if(i > n-i) break;
			if(p[i] && p[n-i]){
				ans++;
			}
		}
		cout<<ans<<endl;
	}

	return 0;
}