Pagini recente » Cod sursa (job #1476615) | Cod sursa (job #65026) | Cod sursa (job #1622118) | Cod sursa (job #3203954) | Cod sursa (job #2699391)
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int n, m, k, s;
int factorial[100100];
int lgput(int base, int exp)
{
int aux = base, ans = 1;
for(int i = 1; i <= exp; i *= 2)
{
if(exp & i)
{
ans *= aux;
ans %= MOD;
}
aux *= aux;
aux %= MOD;
}
return ans;
}
void precalc()
{
factorial[0] = 1;
for(int i = 1; i <= 100000; i ++)
{
factorial[i] = factorial[i-1] * i;
factorial[i] %= MOD;
}
}
int combinari(int n,int k)
{
return (((factorial[n] * lgput(factorial[k], MOD - 2)) % MOD) * lgput(factorial[n-k], MOD - 2)) % MOD;
}
int main()
{
int n, p;
fin >> n >> p;
fout << lgput(n,p);
/*cin >> n >> m >> k >> s;
if(k < s)
{
cout << 0 << '\n';
return 0;
}
precalc();
cout << combinari(4,2) << '\n';
int ans = 0;
for(int i = s; i <= k; i ++)
{
ans += combinari(m,i) * combinari(nn,k-i);
ans %= MOD;
}
cout << ans << '\n';*/
}