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

int cnt;
vector<int> v;
int c[50001];
int ans[50001];


int judge(int n){
  int c = 0;
  for(int i = 1; i <= sqrt(n); i++){
    if(n%i == 0) c++;
  }
  if(c == 1) return 0;
  return 1;
}

void solve(){
  int c = 0;
  for(int i = 2; i <= 50000; i++){
    if(judge(i) == 0){
      // cout << i << endl;
      v.push_back(i);
    }

  }


}

int main(){

  solve();
  memset(c,-1,sizeof(c));

  int a, b;


  memset(ans,0,sizeof(ans));
      for(int i = 0; i < v.size(); i++){
	for(int j = i; j < v.size(), v[i]+v[j] <= 50000; j++){
	  //	  if(v[i] + v[j] == a) cnt++;

	  ans[v[i]+v[j]]++;
	}
      }

  while(1){
    scanf("%d",&a);
    if(a == 0) break;
    cnt = 0;
    // if(c[a] != -1) printf("%d\n",c[a]);
    //else{

      printf("%d\n",ans[a]);
      //  c[a] = cnt;
      // }
  }


}