Pagini recente » Profil andreitrica | Arhiva de probleme | Profil AndreiBarbuta | Rating FMI Savoiu Valentin-Marian (ValentinSavoiu) | Cod sursa (job #3293609)
#include <fstream>
#define int long long
using namespace std;
ifstream fcin("ssnd.in");
ofstream fout("ssnd.out");
int t,n;
const int mod=9973;
inline int lgpow(int baza, int exp)
{
int rez=1;
baza=baza%mod;
while(exp)
{
if(exp & 1) rez=rez*baza%mod;
baza=baza*baza%mod;
exp>>=1;
}
return rez;
}
signed main()
{
fcin>>t;
while(t--)
{
fcin>>n; int nr=1, s=1;
for(int d=2; d*d<=n; d++)
{
int e=0;
while(n%d==0) e++, n=n/d;
if(e) nr=nr*(e+1)%mod, s=s*(lgpow(d,e+1)-1+mod)%mod*lgpow(d-1, mod-2)%mod;
}
if(n>1) nr=nr*2%mod, s=s*(lgpow(n,2)-1+mod)%mod*lgpow(n-1, mod-2)%mod;
fout<<nr<<" "<<s<<'\n';
}
return 0;
}