Pagini recente » Cod sursa (job #2860717) | Cod sursa (job #274941) | Cod sursa (job #2150472) | Cod sursa (job #1408503) | Cod sursa (job #2591272)
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define ft first
#define sc second
#define ll long long
#define MOD 9973
ifstream fin("ssnd.in"); ofstream fout("ssnd.out");
ll n, t, q, k, l;
int main(){
vector<ll> p;
vector<bool> v;
v.assign(1000010,false);
for(int i=1; i<=1000000; i++){
if(v[i]==false){
for(int j=2; j<=i; j++){
if(j*i>=1000005){break;}
v[j*i]=true;
}
}
}
for(int i=1; i<=1000000; i++){
if(v[i]==false){
p.pb(i);
}
}
fin>>t;
for(;t;t--){
fin>>n;
ll sum=0;
ll nr=0;
for(int i=0; i<p.size() && p[i]<=sqrt(n) ; i++){
ll d=p[i];
while( d*d<=n && d<=p[i]*p[i] ){
if(n%d==0){ if(d*d!=n ){sum+=(d%MOD)+((n/d)%MOD); sum%=MOD; nr+=2;} else{nr+=1; sum+=sqrt(n);} }
d+=p[i];
}
}
fout<<nr<<" "<<sum<<"\n";
}
return 0;
}