#include <stdio.h>

#define NUMBER_MAX (1<<15)

char is_sosuu[NUMBER_MAX];

void make_sosuu_list(void) {
	int i,j;
	for(i=0;i<NUMBER_MAX;i++)is_sosuu[i]=1;
	is_sosuu[0]=is_sosuu[1]=0;
	for(i=2;i<NUMBER_MAX;i++) {
		if(is_sosuu[i]) {
			for(j=i+i;j<NUMBER_MAX;j+=i)is_sosuu[j]=0;
		}
	}
}

int main(void) {
	int query,query2;
	int i,count;
	make_sosuu_list();
	while(1) {
		scanf("%d",&query);
		if(query==0)break;
		count=0;
		query2=query/2;
		for(i=1;i<=query2;i++) {
			if(is_sosuu[i] && is_sosuu[query-i])count++;
		}
		printf("%d\n",count);
	}
	return 0;
}