Pagini recente » Cod sursa (job #1092003) | Cod sursa (job #3293821) | Cod sursa (job #2736112) | Cod sursa (job #18646) | Cod sursa (job #2230860)
#include <fstream>
#include <bitset>
#define huim 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bitset <1000000> p;
int prim[166670];
int k = 0, t;
void eratostene(){
for(int i = 2; i<=1000; ++i){
if(!p[i]){
prim[++k] = i;
for(int j = 2*i; j<=1000000; j+=i){
p[j] = true;
}
}
}
for(int i = 1001; i<1000000; i++){
if(!p[i]){
prim[++k] = i;
}
}
}
int main()
{
eratostene();
fin>>t;
while(t--){
long long n;
fin>>n;
long long nrdiv = 1, sumdiv = 1;
for(int i = 1; i<=k; ++i){
if(n==1) break;
int optimus = prim[i];
long long putregai = 1;
int ori = 0;
while(n%optimus==0){
ori++;
n/=optimus;
putregai*=optimus;
}
nrdiv*=ori+1;
sumdiv*=((putregai*optimus-1)/(optimus-1));
sumdiv%=huim;
}
fout<<nrdiv<<' '<<sumdiv%huim<<'\n';
}
return 0;
}