/*****include*****/
#include <iostream>
#include <fstream>

/*****デバッグ定義*****/
//#define DEBUG
/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/

/*****その他関数置き場*****/
bool isPrime(unsigned int n){
	if(n==1)	return false;
	for(unsigned int j=2;j*j<=n;j++){
		if(n%j == 0){
			return false;
		}
	}
	return true;
}
/*****main関数*****/
int main(){
	/*****ファイルオープン*****/
#ifdef DEBUG
	ofstream fout("output.txt");
	ifstream fin("input.txt");
	if(!fout || !fin){
		cout << "Can't open the file.\n";
		return;
	}
#endif
	/*****変数置き場*****/
	
	
	
	/*****処理部*****/
	unsigned int num;
	unsigned int number;
	unsigned int i;
	while(1){
		cin >> number;
		if(number == 0)	break;
		num = 0;
		for(i=1;i<(number/2)+1;i++){
			if(isPrime(i) && isPrime(number-i))	num++;
		}
		cout << num << endl;
	}
	/*****処理終了後*****/
#ifdef DEBUG
	fout.close();
	fin.close();
#endif
	return 0;
}