#include using namespace std; #define all(v) v.begin(),v.end() #define pii pair< int,int> #define pb push_back #define eb emplace_back #define F first #define S second #define mp make_pair #define ll long long int #define mod 1000000000 #define mxn 200002 #define sqr 320 map my; map > fact; ll dp(ll o) { if(my[o]) return my[o]; if(o==1) return 1; ll i; vectorv; for(i=1;i<=sqrt(o);i++) { if(o%i==0) { v.pb(i); if(i*i!=o) v.pb(o/i); } } sort(all(v)); my[1]=1; for(i=1;i ssd; scanf("%lld",&o); if(my[o]) {ans+=my[o];} else { vectorv; if(fact[o].size()) goto h; for(i=1;i<=sqrt(o);i++) { if(o%i==0) { v.pb(i); if(i*i!=o) v.pb(o/i); } } sort(all(v)); fact[o]=v; h:; v=fact[o]; my[1]=1; ssd.pb(1); for(i=1;i