#include #include #include #include #include #include #include #define MAXN 1 // stores smallest prime factor for every number int spf[MAXN]; // Calculating SPF (Smallest Prime Factor) for every // number till MAXN. // Time Complexity : O(nloglogn) void sieve() { for (int i=1; i>= 1; fprintf(stderr, "%ld\n", a); sum += a; } while (a > MAXN) { d += 2; if (d*d > a) return sum+1; while (a%d == 0) { a /= d; fprintf(stderr, "%ld\n", a); sum += a; } } /*while (a!=1) { a /= spf[a]; fprintf(stderr, "%ld\n", a); sum += spf[a]; }*/ return sum; } long int longestSequence(int a_size, long int* a) { // Return the length of the longest possible sequence of moves. long int result = 0; for (int i=0; i