// program directly inspired by A247665 #include #include #define MAX 105000 bool sieve[MAX]; // prime sieve long long gpf [MAX]; // greatest prime factor long long sf [MAX]; // selection sieve (0 = available) long long a [MAX]; // A354790 int main() { memset(sieve, 0, sizeof(sieve)); memset(gpf, 0, sizeof(gpf)); memset(sf, 0, sizeof(sf)); for (long long n=2; n1) { long long g=gpf[r]; r/=g; for (long long m=g; m1) { long long g=gpf[r]; r/=g; for (long long m=g; mm) { v=m; } } } } } return 0; }