#include<stdio.h>


int IsPrime(int n){
    int i;

    if(n < 2)
        return 0;
    else if(n == 2)
        return 1;

    if(n % 2 == 0)
        return 0;

    for(i = 3; i * i <= n; i += 2)
         if(n % i == 0)
            return 0;
    return 1;
}

int main()
{
	int j;
	int set_fig;
	int result[1000];
	for(j = 0;;j++){
		int set[50000][2];
		int cont = 0;
		int cont2 = 0;
		int flg = 0;
		scanf("%d",&set_fig);
		if(set_fig == 0){
			break;
		}
		if(set_fig % 2 != 0){
			result[j] = 0;
			continue;
		}
		
		for(int i = 0; i <= set_fig; i++){
			if(i + (set_fig - i) == set_fig){
				set[cont][0] = i;
				set[cont][1] = set_fig - i;
				cont++;
	//			printf("%d  %d\n",i,set_fig - i);
			}
		}
		for(int i = 0; i <= set_fig; i++){
			if(  IsPrime(set[i][0])!= 1 ||  IsPrime(set[i][1]) != 1){
				cont2++;
			}
		}
		for(int i = 0; i <= set_fig; i++){
			if(set[i][0] == set[i][1] && set[i][0]%2 != 0){
				flg = 1;
			}
		}
		/*
		if(flg == 1){
			printf("%d\n",(cont - cont2)/2+1);
		}
		else{
			printf("%d\n",(cont - cont2)/2);
		}
		*/
		if(flg == 1){
			result[j] = (cont - cont2)/2+1;
		}
		else{
			result[j] = (cont - cont2)/2;
		}
		
	}
	for(int i = 0; i < j; i++){
		printf("%d\n",result[i]);
	}
}