#include #define MAX 32769 int ans[MAX]; int isprime[MAX]; int primes[MAX]; int num_primes; int main(int argc, char *argv[]) { int i, j; int tmp, n; num_primes = 0; for (i = 2; i < MAX; i++) { if (isprime[i] == 0) { for (j = i+i; j < MAX; j+=i) { isprime[j] = 1; } primes[num_primes] = i; num_primes++; } } for (i = 0; i < num_primes; i++) { for (j = i; j < num_primes; j++) { tmp = primes[i] + primes[j]; if (tmp < MAX) { ans[tmp]++; } else { break; } } } for (;;) { scanf("%d\n", &n); if (n == 0) break; printf("%d\n", ans[n]); } return 0; }