/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static long fast_exp(int base, int exp)
{
if(exp==1)
return base;
else
{
if(exp%2 == 0)
{
long ret = fast_exp(base, exp/2);
long base1 = ret * ret;
return base1 % 1000000007;
}
else
{
long ret = fast_exp(base, (exp-1)/2);
long ans = base * ret;
ans %= 1000000007;
ans *= ret;
return ans % 1000000007;
}
}
}
{
System.
out.
println(fast_exp
(2,
999999999)); System.
out.
println(fast_exp
(2,
1000000000)); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCiAgICBzdGF0aWMgbG9uZyBmYXN0X2V4cChpbnQgYmFzZSwgaW50IGV4cCkKICAgIHsKICAgICAgICBpZihleHA9PTEpCiAgICAgICAgcmV0dXJuIGJhc2U7CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaWYoZXhwJTIgPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbG9uZyByZXQgPSBmYXN0X2V4cChiYXNlLCBleHAvMik7CiAgICAgICAgICAgICAgICBsb25nIGJhc2UxID0gcmV0ICogcmV0OwogICAgICAgICAgICAgICAgcmV0dXJuIGJhc2UxICUgMTAwMDAwMDAwNzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxvbmcgcmV0ID0gZmFzdF9leHAoYmFzZSwgKGV4cC0xKS8yKTsKICAgICAgICAgICAgICAgIGxvbmcgYW5zID0gYmFzZSAqIHJldDsKICAgICAgICAgICAgICAgIGFucyAlPSAxMDAwMDAwMDA3OyAKICAgICAgICAgICAgICAgIGFucyAqPSByZXQ7CiAgICAgICAgICAgICAgICByZXR1cm4gYW5zICUgMTAwMDAwMDAwNzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTeXN0ZW0ub3V0LnByaW50bG4oZmFzdF9leHAoMiwgOTk5OTk5OTk5KSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGZhc3RfZXhwKDIsIDEwMDAwMDAwMDApKTsKCX0KfQ==