#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; j += 2) {
if (j == p[k] * p[k]) {
m[k++] = j;
goto np;
}
for (int l = 1, ml = m[l], pl2 = p[l] * 2; l < k; ++l) {
while (ml < j)
ml += pl2;
if (j == (m[l] = ml))
goto np;
}
p[i++] = j;
np:;
}
}
int main(void) {
genprim();
for (int i = 0; i < N; ++i)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gMzAKCmludCBwW05dID0gezJ9LCBtW05dID0gezJ9LCBrID0gMTsKCnZvaWQgZ2VucHJpbSh2b2lkKSB7Cglmb3IgKGludCBpID0gMSwgaiA9IDM7IGkgPCBOOyBqICs9IDIpIHsKCQlpZiAoaiA9PSBwW2tdICogcFtrXSkgewoJCQltW2srK10gPSBqOwoJCQlnb3RvIG5wOwoJCX0KCQoJCWZvciAoaW50IGwgPSAxLCBtbCA9IG1bbF0sIHBsMiA9IHBbbF0gKiAyOyBsIDwgazsgKytsKSB7CgkJCXdoaWxlIChtbCA8IGopCgkJICAgIAltbCArPSBwbDI7CgkJCWlmIChqID09IChtW2xdID0gbWwpKQoJCQkJZ290byBucDsKCQl9CgkJCgkJcFtpKytdID0gajsKbnA6OwogICAgfQp9CgppbnQgbWFpbih2b2lkKSB7CglnZW5wcmltKCk7Cglmb3IgKGludCBpID0gMDsgaSA8IE47ICsraSkKCQlwcmludGYoIiVkICIsIHBbaV0pOwoJcHV0cygiXG4iKTsKCXJldHVybiAwOwp9Cg==