/*1000000ÈºÌfÅüÍµ½nÈºÌÅåÌfðoÍ·évO*/
#include <iostream>
const int MAX = 1000001;
const int P_NUM = 78498;
using namespace std;

bool p[MAX];
int a[79000]={};

void f(){
    for(int i=0 ; i<MAX ; i++){
        p[i] = (i<=1)? false : true ;
    }
    for(int i=2 ; i*i<= MAX+1 ; i++){
        if( p[i] ){
            for(int j=i*2 ; j<MAX ; j+=i){
                p[j] = false;
            }
        }
    }
	for(int i=2,j=0; i<MAX ; ++i ){
		if(p[i])
			a[j++] = i;
	}
}

int main(){
    int n;

    f();

    while( cin >> n , n ){
		int ans = 0;
		int pos;
		for(pos = 0 ; n > a[pos] ; ++pos );

		for(int i=0 ; i<=pos ; ++i ){
			for(int j=pos ; j>=i ; --j ){
				if( a[i]+a[j] == n ){
					ans++;
					continue;
				}
				if( a[i]+a[j] < n ){
					continue;
				}
			}
		}
		cout << ans << endl;
    }
}