Pagini recente » Cod sursa (job #1031967) | Cod sursa (job #1308761) | Cod sursa (job #412295) | Cod sursa (job #1580102) | Cod sursa (job #1059973)
//
// main.c
// lgput
//
// Created by Alexandru Bâgu on 12/17/13.
// Copyright (c) 2013 Alexandru Bâgu. All rights reserved.
//
#include <stdio.h>
int lgpow(int n, int p, int mod)
{
if(p < 0) return lgpow(n, -p, mod);
if(p == 0) return 1;
if(p == 1) return n;
if(p&1) return (n * lgpow(n*n, (p^1)>>1, mod)) % mod;
else return lgpow(n*n, p>>1, mod) % mod;
}
int main(int argc, const char *argv[])
{
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
const int mod = 1999999973;
int n, p;
scanf("%d %d", &n, &p);
printf("%d\n", lgpow(n, p, mod));
return 0;
}