Pagini recente » Cod sursa (job #2447547) | Cod sursa (job #593823) | Cod sursa (job #495247) | Cod sursa (job #1660959) | Cod sursa (job #2507976)
#include <fstream>
#define mod 9973
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
bool ciur[1000005];
long long prim[78500];
long long sum, nr_div, t, maxim=0, k=0;
int main()
{
for(int i=2; i<=1000000; i++)
if(ciur[i]==0)
{
prim[++k]=i;
for(int j=2*i; j<=1000000; j+=i)
ciur[j]=1;
}
in>>t;
while(t--)
{
long long x;
in>>x;
nr_div=1;
sum=1;
for(int j=1; prim[j]*prim[j]<=x && x>1; j++)
if(x%prim[j]==0)
{
long long exp=0, inm=1;
while(x%prim[j]==0)
{
exp++;
inm*=prim[j];
x/=prim[j];
}
nr_div*=(exp+1);
int prod=(inm*prim[j]-1)/(prim[j]-1);
sum*=prod;
}
if(nr_div==1 && x!=1)
{
nr_div=2;
sum=1+x;
}
out<<nr_div<<" "<<sum%mod<<'\n';
}
in.close();
out.close();
return 0;
}