#include using namespace std; #define MOD 1000000007 #define INF 1e18 #define pb push_back #define F first #define S second #define ll long long #define pi pair #define sc(x) scanf("%lld",&x) ll prime[1000010]; ll ansp[1000010]; unordered_map m; vector primenum; void preprocess(){ for(int i=1;i<=1000000;i++){ prime[i]=i; } for(int i=2;i<=1000000;i++){ if(prime[i]==i){ primenum.push_back(i); for(int j=2*i;j<=1000000;j+=i){ prime[j]=i; } } } ansp[1]=0; for(ll i=2;i<=1000000;i++){ ansp[i]=1+prime[i]*(ansp[i/prime[i]]); } } ll process(ll val){ if(val<=1000000){ return ansp[val]; } if(m[val]){ return m[val]; } for(ll i=0;i