#include #include #include #define MAX 1000000000 bool *sieve = 0; int *nb = 0; int main() { sieve = (bool*)malloc(MAX * sizeof(bool)); memset(sieve, 0, MAX * sizeof(bool)); nb = (int*)malloc(MAX * sizeof(int)); memset(nb, 0, MAX * sizeof(int)); int u = 1; for (int n=2; n0 && nb[m]==nb[m+1]; m--) { v++; } while (u<=v) { printf("%d %d\n", u, n-v+1); u++; fflush(stdout); } } return 0; }