Pagini recente » Cod sursa (job #686950) | Cod sursa (job #374222) | Cod sursa (job #2753796) | Cod sursa (job #1059615) | Cod sursa (job #2777174)
//
// Created by Andrei Covaci on 03.09.2021.
//
#include <fstream>
#include <iostream>
#include <vector>
#define INPUT "lgput.in"
#define OUTPUT "lgput.out"
//#define INPUT "input.in"
//#define OUTPUT "output.out"
using namespace std;
pair<long long, int> read() {
ifstream in(INPUT);
int a, b;
in >> a >> b;
in.close();
return pair<long long, int>(a, b);
}
long long solve(pair<long long, int> p) {
long long base = p.first;
int exp = p.second;
int m = 1999999973;
if (exp == 0)
return 1;
if (exp == 1)
return base % m;
if (exp % 2 == 0)
return solve(pair<long long, int>((base % m) * (base % m), exp / 2)) % m;
else
return (base % m) * solve(pair<long long, int>((base % m) * (base % m), (exp - 1) / 2)) % m;
}
void print(long long n) {
ofstream out(OUTPUT);
out << n % 1999999973;
out.close();
}
int main() {
auto nums = read();
auto res = solve(nums);
print(res);
return 0;
}