#include<bits/stdc++.h>
using namespace std;

int N = 1000001;
int prime_array[1000001];

void Eratosthenes(){
  for(int i = 0; i < N; i++){
    prime_array[i] = 1;
  }
  for(int i = 2; i < sqrt(N); i++){
    if(prime_array[i]){
      for(int j = 0; i * (j + 2) < N; j++){
	prime_array[i *(j + 2)] = 0;
      }
    }
  }
  
  for(int i = 2; i < N; i++){
    if(prime_array[i]){
      //cout << i << endl;
    }
  }
}

int main()
{
  Eratosthenes();
  int n;

  while( cin >> n, n ) {
    int cnt = 0;
    for(int i=2; i<=n/2; i++) {
      if( prime_array[i] && prime_array[n-i] ) cnt++;
    }

    cout << cnt << endl;
  }

}