Pagini recente » Cod sursa (job #1032184) | Cod sursa (job #1094752) | Cod sursa (job #129046) | Cod sursa (job #2568200) | Cod sursa (job #949124)
Cod sursa(job #949124)
#include<fstream>
#include<algorithm>
using namespace std ;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
#define mod 9901
int A, B ;
int sol = 1 ;
int putere(int N, int P)
{
int rez = 1 ;
N %= mod ;
while( P )
{
if( P % 2 )
rez = ( rez * N ) % mod ;
N = ( N * N ) % mod ;
P >>= 1 ;
}
return rez ;
}
int main()
{
fin >> A >> B ;
for(int i = 2; i * i <= A; ++i )
{
int exp = 0 ;
while( A % i == 0 )
{
++exp ;
A /= i ;
}
exp *= B ;
if( exp )
{
if( i % mod == 1 )
sol = ( sol * ( exp + 1 ) ) % mod ;
else
sol = ( sol * ( putere( i, exp + 1 ) - 1 + mod ) % mod * putere( i - 1, mod - 2 ) ) % mod ;
}
}
if( A > 1 )
{
if( A % mod == 1 )
sol = ( sol * ( B + 1 ) ) % mod ;
else
sol = ( sol * ( putere( A, B + 1 ) - 1 + mod ) % mod * putere( A - 1, mod - 2 ) ) % mod ;
}
fout << sol ;
return 0 ;
}