Pagini recente » Cod sursa (job #2579800) | Cod sursa (job #170375) | Cod sursa (job #838365) | Cod sursa (job #1059451) | Cod sursa (job #993783)
Cod sursa(job #993783)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
#define baza 1
#define MAX 1000005
#define MOD 9973
typedef long long int lli;
lli t,n, i, j;
lli a[MAX];
void ciur()
{
a[0]=a[1]=1;
int k=0;
for(i=1;i<=MAX;i++)
{
if(!a[i])
{
for(j=i*i;j<=MAX;j+=i)
{
a[j]=1;
}
a[++k]=i;
}
}
}
int main()
{
ciur();
fin>>t;
for(lli ki=1;ki<=t;ki++)
{
lli numere=1;
lli suma=1;
fin>>n;
lli l=sqrt(n);
for(i=1;a[i]<=l;i++)
{
if(n%a[i]==0)
{
lli nr=1;
lli cx=n;
while(n%a[i]==0)
{
nr++;
n/=a[i];
}
numere*=nr;
suma*=(cx*a[i]/n-1);
suma/=(a[i]-1);
suma%=MOD;
l=sqrt(n);
}
}
if(n>1)
{
numere*=2;
suma*=(n+1);
suma%=MOD;
}
fout<<numere<<" "<<suma<<"\n";
}
return 0;
}