#include<iostream>
using namespace std;

int main(){
    bool is_prime[1000000];

    is_prime[0]=is_prime[1]=false;
    for(int i=2;i<1000000;i++){
        is_prime[i]=true;
    }

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

    while(true){
        int n;
        cin>>n;

        if(n==0) break;
        
        int cnt=0;
        for(int i=2;i<=n;i++){
            if(is_prime[i]&&is_prime[n-i]) cnt++;
        }
        if(n%2==1) cout<<cnt/2<<endl;
        else{
            cout<<cnt/2+(is_prime[n/2]==true)<<endl;
        }
        
    }
    
    return 0;
}
