Pagini recente » Cod sursa (job #2041375) | Cod sursa (job #692962) | Cod sursa (job #907687) | Cod sursa (job #2605737) | Cod sursa (job #1129172)
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
#define R 9973
#define N 1000001
long long suma, numar, n, p;
bool v[N];
int x[N];
void rezolvare();
void ciur();
int main()
{
ciur();
int t;
in >> t;
for(int i=0;i<t;i++)
{
in >> n;
rezolvare();
out << numar << " " << suma << "\n";
}
in.close();
out.close();
return 0;
}
void ciur()
{
int f = 0;
for(long long i=2;i<N;i++)
if(v[i]==false)
{
x[++f]=i;
for(long long j=i*i;j<N;j+=i)
v[j]=true;
}
}
void rezolvare()
{
int d, p;
suma = 1;
numar = 1;
for(int i=1;i<=n;i++)
{
d=0;p=1;
while(!(n%x[i]))
{
d++;
p*=x[i];
n/=x[i];
}
numar*=(d+1);
suma*=((p*x[i]-1)/(x[i]-1))%R;
}
if(n!=1)
numar*=2;
}