//0056

#include<cstdio>
#include<algorithm>
using namespace std;

int main(void)
{
	const int N = 50021+1;	//50000æèå«¢f+1
	bool isPrime[N];
	fill(isPrime, isPrime+N, true);
	isPrime[0] = isPrime[1] = false;
	int i, j;
	for(i = 2; i*i < N; i++)
	{
		if(isPrime[i])
		{
			for(j = 2*i; j < N; j+=i)
			{
				isPrime[j] = false;
			}
		}
	}

	int primeArray[N];	//ãëð¬»·é½ßÌAfÌS
	int primeCount = 0;
	for(i = 0; i < N; i++)
	{
		if(isPrime[i])
			primeArray[primeCount++] = i;
	}

	int n;
	while(scanf("%d", &n), n)
	{
		int count = 0;
		//nªïÈçA2Æà¤êÂÌgÝí¹µ©È¢
		if(n&1)
		{
			if(isPrime[n-2])
				count = 1;
		}
		//nªôÈçAKÉÜí·µ©
		else
		{
			for(i = 0; primeArray[i]*2 <= n; i++)
			{
				for(j = 0; primeArray[j] < n; j++)
				{
					if(primeArray[i] + primeArray[j] == n)
						count++;
				}
			}
		}
		printf("%d\n", count);
	}
	return 0;
}