#include <iostream>
#define MAX 50000
using namespace std;
int prime[50100]={0};
int ch[50000]={0};

void sosu(){
    for(int i=2;i<=MAX/2;i++){
        for(int j=2;i*j<=MAX;j++){
            prime[i*j] = 1;
        }
    }
    for(int i=2,j=0;i<=50000;i++){
        if(prime[i] == 0){
            ch[j] = i;
            j++;
        }
    }
}

int main(){
    int n;
    int cnt;
    sosu();
    while(1){
        cnt=0;
        cin >> n;
        if(n == 0) break;
        for(int i=0;ch[i]<=n;i++){
            for(int j=0;ch[j]<=n/2;j++){
                if(ch[i] + ch[j] == n) cnt++;
            }
        }
        cout << cnt << endl;
    }
}