#include <iostream>
using namespace std;

/* 最初に判定に必要な素数の配列を宣言する */
bool primes[100000000];

void Sieve() {
    /* 最初は、全て trueにして素数と仮にする */
    for(int i = 2; i < 100000000; i++) {
      primes[i] = true;
    }
    primes[1] = false;
    /* 素数でない整数を false にしてふるいにかける */;
    for(int i = 2; i < 10000; i++) {

       /* 解説を思い出して頑張る */

    }
}

bool IsPrime(int n) {
    return primes[n];
}

int main(void){
    Sieve();  /* 最初に Sieve() を呼ぶ */

    ...

    return 0;
}



