#include <stdio.h>

void eratos(int* is_Prime, int max){
	is_Prime[0] = is_Prime[1] = 0;
	int i,j;
	for(i=2; i<max; i++){
		is_Prime[i] = 1;
	}
	for(i=4; i<max; i+=2)
		is_Prime[i] = 0;
	for(i=3; i*i<max; i+=2){
		if(is_Prime[i])
			for(j=2*i; j<max; j+=i)
				is_Prime[j] = 0;
	}
}

int main(){
	const int max = 300000;
	int is_Prime[max];
	int i,n,ans;
	
	eratos(is_Prime, max);
	
	while(1){
		scanf("%d", &n);
		if(!n)
			break;
		ans = 0;
		for(i=n+1; i<=2*n; i++){
			if(is_Prime[i])
				ans++;
		}
		printf("%d\n", ans);
	}
	
	return 0;
}