Pagini recente » Cod sursa (job #255061) | Cod sursa (job #1974798) | Cod sursa (job #1991776) | Cod sursa (job #1784974) | Cod sursa (job #1992714)
#include <fstream>
#define sumMod(x,y) x+y<MOD?x+y:x+y-MOD
#define prodMod(x,y) 1LL*x*y%MOD;
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
const int MOD = 9973;
long long k;
int prime[78510],viz[1000004];
void ciur()
{
prime[++k]=2;
int i;
for( i=3; i<1000; i+=2)
if(viz[i]==0)
{
prime[++k]=i;
for(int j=i*i; j<=1000000; j+=2*i)
viz[j]=1;
}
for(;i<=1000000;i+=2)
if(viz[i]==0)
prime[++k]=i;
}
void nr_divi()
{
long long n;
int nr=1,sum=1;
f>>n;
for(int i=1; i<=k && 1LL*prime[i]*prime[i]<=n; i++)
if(n%prime[i]==0)
{
int p=1;
long long b=prime[i],putere=1,aux=1;
while(n%b==0)
{n/=b; p++;
putere*=b;
aux+=putere;
}
nr=nr*p%MOD;
sum=aux*sum%MOD;
}
if(n>=2)
{
nr=nr*2%MOD;
sum=n*sum%MOD;
}
g<<nr<<' '<<sum<<'\n';
}
int main()
{
ciur();
int t;
f>>t;
while(t)
nr_divi(),t--;
return 0;
}