Pagini recente » Cod sursa (job #1340903) | Cod sursa (job #1690452) | Cod sursa (job #2513988) | Cod sursa (job #313126) | Cod sursa (job #2985905)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("date.in");
ofstream fout ("date.out");
const int r=1999999973;
long long p[33],m_b2[33], l;
void b10_la_b2(unsigned long long a) {
l=0;
while (a!=0) {
m_b2[l]=(a%2);
a/=2;
l++;
}
}
int main()
{
unsigned long long n, m;
unsigned long long putere=1;
fin >> n >> m;
p[0]=1;
p[1]=(n*n)%r;
b10_la_b2(m);
for (unsigned long long j=2;j<=l;j++) { ///generare puteri
p[j]=(p[j-1]%r)*(p[j-1]%r)%r;
}
for (int j=0;j<l;j++) {
if (m_b2[j]==1) putere=(putere*p[j])%r;
}
cout << putere;
}