#include using namespace std; #define vi vector #define pb push_back #define mp make_pair #define SIZE 1000005 typedef long long ll; vi primes; bitset<1000010> b; void sieve() { b.set(); b[0]=b[1]=0; for(long i=2;i<=SIZE;i+=2) { if(b[i]) { for(long j=2*i;j<=SIZE;j+=i) b[j]=0; primes.pb(i); } if(!(i&1)) i--; } } int main() { sieve(); int n; cin >> n; ll ans = 0,a,piece,move; while(n--) { piece = 1; move = 0; cin >> a; int i=0,s=primes.size(); map um; while(a!=1 and isecond; while(i--) { move += piece; piece *= it->first; //cout<