Pagini recente » Cod sursa (job #2407890) | Cod sursa (job #127894) | Cod sursa (job #748946) | Cod sursa (job #1114249) | Cod sursa (job #2417077)
/// ssnd
#include <fstream>
#include <vector>
#define infile "ssnd.in"
#define outfile "ssnd.out"
#define mod 9973
using namespace std;
const int lim=1e6;
bool v[lim+3];
vector<int> p;
int tst,nr,exp;
long long int n,sum;
void ciur()
{
p.push_back(2);
for(int i=3;i<=lim;i+=2)
if(v[i]==0)
{
p.push_back(i);
for(int j=2;j<=lim/i;++j)
v[i*j]=1;
}
}
long long int power(long long int a,int exp)
{
long long int p=1;
for(int i=0;i<exp;++i)
p*=a;
return p;
}
int main()
{
ifstream in(infile);
ofstream out(outfile);
ios_base::sync_with_stdio(false);
in.tie(0),out.tie(0);
ciur();
in>>tst;
for(int e=0;e<tst;++e)
{
in>>n;
nr=1;
sum=1;
for(int i=0;i<p.size() and p[i]*p[i]<=n and n>1;++i)
if(n%p[i]==0)
{
exp=0;
while(n%p[i]==0)
++exp,n/=p[i];
nr*=(exp+1);
sum*=((power(p[i],exp+1)-1)/(p[i]-1))%mod;
sum%=mod;
}
if(n!=1)
nr*=2,sum*=(n+1)%mod,sum%=mod;
out<<nr<<" "<<sum<<endl;
}
return 0;
}