Pagini recente » Cod sursa (job #1545504) | Cod sursa (job #2905871) | Cod sursa (job #2203356) | Atasamentele paginii tema_vacanta_iarna | Cod sursa (job #2256602)
#include<bits/stdc++.h>
using namespace std;
#define MOD 9973
bool prim[1000100];
int main(){
ifstream in ("ssnd.in");
ofstream out ("ssnd.out");
for(long long i = 2 ; i <= 1000000 ; i ++){
if(prim[i] == 0){
for(long long j = i*i ; j <= 1000000 ; j += i)
prim[j] = 1 ;
}
}
vector<long long> a;
for(long long i = 2 ; i <= 1000000 ; i ++)
if(prim[i] == 0)
a.push_back(i);
int t , n ;
in >> t;
while(t--){
in >> n ;
map<long long,long long> m;
vector<long long>::iterator it = a.begin();
while(n != 1 && it != a.end()){
while(n % (*it) == 0){
m[(*it)]++;
n /= (*it);
}
it++;
}
int no = 1 , sum = 1 ;
int aux;
for(auto i:m){
no *= (i.second+1);
int aux = 1;
for(int j = 0 ; j <= i.second ; j ++ )
aux = (aux*i.first)%MOD ;
sum = sum * ((aux-1)/(i.first-1));
sum %= MOD ;
}
out << no <<" " << sum <<endl;
}
}