Pagini recente » Cod sursa (job #2393985) | Cod sursa (job #501115) | Cod sursa (job #2295429) | Cod sursa (job #1601977) | Cod sursa (job #1955397)
#include <fstream>
#define mod 9901
using namespace std;
ofstream fout ("sumdiv.out");
ifstream fin ("sumdiv.in");
int put( long long a , long long b )
{
int rsp = 1;
for( int i = 0 ; ( 1LL << i ) <= b ; i++ )
{
if( ( 1LL << i ) & b )
rsp = ( rsp * a ) % mod;
a = ( a * a ) % mod;
}
return rsp;
}
long long a,b,i,rsp;
long long cnt;
int main()
{
fin>>a>>b;
rsp = 1;
for( i = 2 ; i * i <= a ; i++ )
{
if( a % i == 0 )
{
cnt = 0;
while( a % i == 0 )
{
a /= i;
cnt++;
}
cnt *= b;
rsp = ( ( ( rsp * ( put( i , cnt + 1 ) - 1 ) ) % mod ) * put( i - 1 , mod - 2 ) ) % mod;
}
}
if( a > 1 )
{
rsp = ( ( ( rsp * ( put( a , b + 1 ) - 1 ) ) % mod ) * put( a - 1 , mod - 2 ) ) % mod;
}
fout<<( rsp + mod ) % mod;
}