#include <stdio.h>
#define N 30
int p[N] = {2}, m[N] = {2}, k = 1;
void genprim(void) {
for (int i = 1, j = 3; i < N; ++i, j += 2) {
if (j == m[k] * m[k]) {
m[k++] = j;
goto np;
}
for (int i = 1, mi = m[i], pi2 = p[i] * 2; i < k; ++i) {
while (mi < j)
mi += pi2;
if (j == (m[i] = mi))
goto np;
}
p[i] = j;
np:;
}
}
int main(void) {
genprim();
for (int i = 0; i < N; ++i) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gMzAKCmludCBwW05dID0gezJ9LCBtW05dID0gezJ9LCBrID0gMTsKCnZvaWQgZ2VucHJpbSh2b2lkKSB7Cglmb3IgKGludCBpID0gMSwgaiA9IDM7IGkgPCBOOyArK2ksIGogKz0gMikgewoJCWlmIChqID09IG1ba10gKiBtW2tdKSB7CgkJCW1baysrXSA9IGo7CgkJCWdvdG8gbnA7CgkJfQoJCgkJZm9yIChpbnQgaSA9IDEsIG1pID0gbVtpXSwgcGkyID0gcFtpXSAqIDI7IGkgPCBrOyArK2kpIHsKCQkJd2hpbGUgKG1pIDwgaikKCQkgICAgCW1pICs9IHBpMjsKCQkJaWYgKGogPT0gKG1baV0gPSBtaSkpCgkJCQlnb3RvIG5wOwoJCX0KCQkKCQlwW2ldID0gajsKbnA6OwogICAgfQp9CgppbnQgbWFpbih2b2lkKSB7CglnZW5wcmltKCk7Cglmb3IgKGludCBpID0gMDsgaSA8IE47ICsraSkgewoJCXByaW50ZigiJWQgIiwgcFtpXSk7Cgl9CglwdXRzKCJcbiIpOwoJcmV0dXJuIDA7Cn0K