#include <stdio.h>
#include <stdlib.h>
void prime(int N)
{
unsigned char * sieve
= malloc(N
+1); for(int i = 0; i <= N; ++i) sieve[i] = 1-i%2;
sieve[0] = sieve[1] = 1; sieve[2] = 0;
for (int i = 3; i * i <= N; i += 2)
for(int k = 2*i; k <= N; k += i) sieve[k] = 1;
for (int i = 2; i <= N; ++i)
if (sieve[i] == 0)
}
int main() {
int N;
prime(N);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgcHJpbWUoaW50IE4pCnsKICAgIHVuc2lnbmVkIGNoYXIgKiBzaWV2ZSA9IG1hbGxvYyhOKzEpOwogICAgZm9yKGludCBpID0gMDsgaSA8PSBOOyArK2kpIHNpZXZlW2ldID0gMS1pJTI7CiAgICBzaWV2ZVswXSA9IHNpZXZlWzFdID0gMTsgc2lldmVbMl0gPSAwOwogICAgZm9yIChpbnQgaSA9IDM7IGkgKiBpIDw9IE47IGkgKz0gMikKICAgICAgICBmb3IoaW50IGsgPSAyKmk7IGsgPD0gTjsgayArPSBpKSBzaWV2ZVtrXSA9IDE7CgogICAgcHJpbnRmKCJQcmltZSBudW1iZXJzOlxuIik7CiAgICBmb3IgKGludCBpID0gMjsgaSA8PSBOOyArK2kpCiAgICAgICAgaWYgKHNpZXZlW2ldID09IDApCiAgICAgICAgICAgIHByaW50ZigiJWRcbiIsIGkpOwogICAgZnJlZShzaWV2ZSk7Cgp9CgppbnQgbWFpbigpIHsKICAgIGludCBOOwogICAgc2NhbmYoIiVkIiwgJk4pOwogICAgcHJpbWUoTik7Cn0K