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

int main(){
    int n;
    const int N = 1e6;

    vector<bool> is_prime(N,true);
    is_prime[0] = false;
    is_prime[1] = false;

    for(int i=2;i*i<N;i++){
        if(is_prime[i]){
            for(int j=i*2;j<N;j+=i){
                is_prime[j] = false;
            }
        }
    }

    while(cin >> n){
        if(n == 0) return 0;
        if(n%2) {
            if(is_prime[n-2]) cout << 1 << endl;
            else cout << 0 << endl;
        }
        else {
            int ans = 0;
            for(int i=1;i<=n/2;i++){
                if(is_prime[i] && is_prime[n-i]){
                    ans++;
                }
            }
            cout << ans << endl;
        }
    }
}
