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