#include using namespace std; int prime(unsigned long long int n) { long lim = sqrt(n)+1; for(int i = 3; i <= lim; i++) { if(n % i == 0) { return i; } } return 0; } unsigned long long int getDivisions(unsigned long long int n) { // cout< 0 && n > 1) { ans = prime(n); sum += n/ans; n = n/ans; // cout<<"\nFirst Divisor of oddd: "< 0 && n > 1) { // cout<<"\nPRIME CHECKING: "< a) { // Return the length of the longest possible sequence of moves. unsigned long long int sum = 0; for(int i = 0; i < a.size() ; i++) { unsigned long long int n = a[i]; unsigned long long int ans = getDivisions(n); // cout<> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } // boolSieve = sieve_of_eratosthenes(); unsigned long long int result = longestSequence(a); cout << result << endl; return 0; }