#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)

using namespace std;

int prime[1000001];

void CreatePrime(int n)
{
	rep(i,n)
	{
		prime[i] = 1;
	}

	prime[0] = prime[1] = 0;

	REP(i,2,sqrt(n))
	{
		if(prime[i])
		{
			for(int j=0;i*(j+2) < n;j++)
			{
				prime[i*(j+2)] = 0;
			}
		}
	}
}

int main()
{
	CreatePrime(1000001);
	
	int n;
	while(cin >> n && n)
	{
		int count = 0;
		REP(i,2,(n/2)+1)
		{
			if(prime[i] == 1 && prime[n-i]) count++;
		}

		cout << count << endl;
	}
	return 0;
}