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

bool tab[1000100];
vector<int> primes;

void primetab() {
	for(int i = 0; i < 1000100; i++)
		tab[i] = true;
	tab[0] = tab[1] = false;
	for(int i = 0; i < 1000100; i++) {
		if(tab[i]) {
			primes.push_back(i);
			for(int j = 2; j * i < 1000100; j++) {
				tab[j*i] = false;
			}
		}
	}
}

int main() {
	int n;
	primetab();
	while(cin >> n, n) {
		int ans = 0;
		for(int i = 0; primes[i] <= n / 2; i++) {
			if(tab[n-primes[i]])
				ans++;
		}
		cout << ans << endl;
	}
}