Pagini recente » Cod sursa (job #2561697) | Cod sursa (job #1619027) | Cod sursa (job #510917) | Cod sursa (job #2800557) | Cod sursa (job #825176)
Cod sursa(job #825176)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <iomanip>
#include <string>
#include <cstring>
#include <deque>
#include <stack>
#include <bitset>
#include <list>
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define mp(a,b) make_pair (a, b)
#define ll long long
#define max(a, b) (a > b ? a : b)
#define min(a, b) (a < b ? a : b)
using namespace std;
int main ()
{
long long N, P;
ifstream fin ("lgput.in");
fin >> N >> P;
fin.close ();
long long v[40], S = 1, mod = 1999999973;
v[0] = N;
for (int i = 1; i <= 33; i++)
v[i] = (v[i - 1] * v[i - 1]) % mod;
for (int i = 33; i >= 0; i--)
{
if (P >= (1LL << i))
{
S = (S * v[i]) % mod;
P -= (1LL << i);
}
}
ofstream fout ("lgput.out");
fout << S;
fout.close ();
return 0;
}