Pagini recente » Cod sursa (job #503478) | Cod sursa (job #815468) | Cod sursa (job #1646449) | Cod sursa (job #2002075) | Cod sursa (job #1817145)
#include <fstream>
#include <bitset>
#define MOD 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
long long n,t,i,j,sol,nrd,nr,ap,p,x,y,k;
long long v[100];
int ciur[1000001];
/*void Invers_Modular (long long a,long long b,long long &x,long long &y){
if (b==0){
x = 1;
y = 0;
}
else{
long long xa,ya;
Invers_Modular (b,a%b,xa,ya);
x = ya;
y = xa- (a/b)*ya;
}
}*/
int main (){
for (i=2;i<=1000000;i++)
if (ciur[i] == 0){
v[++k] = i;
for (j=2*i;j<=1000000;j+=i)
ciur[j] = 1;
}
fin>>t;
for (;t>=1;t--){
fin>>n;
nrd = 1;
sol = 1;
for (i=1;i<=k&&v[i]*v[i]<=n;i++){
if (n%v[i])
continue;
ap = 1;
nr = v[i];
while (n%v[i]==0){
n/=v[i];
nr *= v[i];
ap++;
}
nrd *= ap;
sol = (sol*(nr-1)/(v[i]-1))%MOD;
}
if (n > 1){
nrd *= 2;
sol = (sol*(n+1)) % MOD;
}
fout<<nrd<<" "<<sol<<"\n";
}
return 0;
}