Pagini recente » Cod sursa (job #2399368) | Cod sursa (job #3159459) | Cod sursa (job #2760395) | Cod sursa (job #1942130) | Cod sursa (job #1160362)
#include <fstream>
#include <bitset>
using namespace std;
#define mod 9973
bitset<1000005> viz;
int lista[79005];
int poz;
void erat()
{
int i,j;
for(i=3;i<1000;i+=2)
if(!viz[i])
for(j=i*i;j<1000005;j+=i)
viz[j]=1;
lista[++poz]=2;
for(i=3;i<1000005;i+=2)
if(!viz[i])
lista[++poz]=i;
}
long long int cine;
int r1,r2;
void desc()
{
r1=1;
r2=1;
int i;
int cati;
int val;
int suma;
for(i=1;i<=poz && lista[i]*lista[i]<=cine;i++)
{
cati=1;
suma=1;
val=lista[i];
while(cine%lista[i]==0)
{
cine/=lista[i];
cati++;
suma=(suma+val)%mod;
val=(val*(lista[i]%mod))%mod;
}
r1=(r1*cati)%mod;
r2=(r2*suma)%mod;
}
if(cine>1)
{
r1=(r1*2)%mod;
r2=(r2*((cine+1)%mod))%mod;
}
}
int main()
{
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
erat();
int t=0;
cin>>t;
while(t--)
{
cin>>cine;
desc();
cout<<r1<<' '<<r2<<'\n';
}
cin.close();
cout.close();
return 0;
}