#include <stdio.h>
#include <stdlib.h>
#include <string.h>

unsigned int max = 65536; 

/*
 *  Najdite a opravte chyby vo funkcii generuj()
 */

void generuj(int N) {
	int *sito = (int*)malloc(N+1);
	int i;
	memset(sito, 0xff, N+1);
	for (i=1; i<=N; i++) {
		int a;
		
		if (!sito[i]) continue;
		printf("%d\n", i);
		for (a=i; a<=(unsigned int)N; a+=i) {
			sito[a] = 0;
		}
	}
	return;
}

/*  */

int main() {
	int N;
	do {
		scanf("%d", &N);
		if (N > max) {
			printf("Cislo je prilis velke! Zadaj cislo mensie alebo rovne ako %d\n", max);
		} else
			generuj(N);
	} while (N > 0);
}
