#include <iostream>
using namespace std;
typedef unsigned long long int ull;
double g(double a) {return a*a;}
double f(double a, ull n) {return n==1 ? a : n%2 ? a*f(a,n-1) : g(f(a,n/2));}
double MyPow(double a, ull n)
{
double t=1.0;
for(ull i=1;i<=n;i++)
t*=a;
return t;
}
int main() {
double a = 1.000000005; ull n = 2000000000;
cout << f(a,n) << endl;
//cout << MyPow(a,n) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVsbDsKZG91YmxlIGcoZG91YmxlIGEpIHtyZXR1cm4gYSphO30KZG91YmxlIGYoZG91YmxlIGEsIHVsbCBuKSB7cmV0dXJuIG49PTEgPyBhIDogbiUyID8gYSpmKGEsbi0xKSA6IGcoZihhLG4vMikpO30KCmRvdWJsZSBNeVBvdyhkb3VibGUgYSwgdWxsIG4pCnsKICAgICBkb3VibGUgdD0xLjA7CiAgICAgZm9yKHVsbCBpPTE7aTw9bjtpKyspCiAgICAgICAgIHQqPWE7CiAgICAgcmV0dXJuIHQ7Cn0KCmludCBtYWluKCkgewoJZG91YmxlIGEgPSAxLjAwMDAwMDAwNTsgdWxsIG4gPSAyMDAwMDAwMDAwOwoJY291dCA8PCBmKGEsbikgPDwgZW5kbDsKCS8vY291dCA8PCBNeVBvdyhhLG4pIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==