#include<stdio.h>
#include<iostream>
#include<math.h>
#include<stdlib.h>
using namespace std;
long long mylog2(long long k)
{
long long temp=1;
long long i=0;
while(temp<k)
{
temp=temp*2;
i++;
}
if(temp==k)
return i;
else return i-1;
}
double mypow(long long n)
{ double temp ;
if(n==0)
return 1;
if(n==1)
return 2;
else
{
temp = mypow(n/2);
if(n%2)
temp = temp*temp*2;
else
temp = temp*temp;
}
return temp;
}
int main()
{
int p=10000; // change this to 1000 or any other value less than that
double x= pow(2,p);
double y= mypow(p);
cout<<x<<" "<<y;
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KI2luY2x1ZGU8c3RkbGliLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKbG9uZyBsb25nIG15bG9nMihsb25nIGxvbmcgaykKewpsb25nIGxvbmcgdGVtcD0xOwpsb25nIGxvbmcgaT0wOwp3aGlsZSh0ZW1wPGspCnsKdGVtcD10ZW1wKjI7CmkrKzsKfQppZih0ZW1wPT1rKQpyZXR1cm4gaTsKZWxzZSByZXR1cm4gaS0xOwp9CiAKZG91YmxlIG15cG93KGxvbmcgbG9uZyBuKQp7IGRvdWJsZSB0ZW1wIDsKaWYobj09MCkKcmV0dXJuIDE7CmlmKG49PTEpCnJldHVybiAyOwplbHNlCnsKdGVtcCA9IG15cG93KG4vMik7CmlmKG4lMikKdGVtcCA9IHRlbXAqdGVtcCoyOwplbHNlCnRlbXAgPSB0ZW1wKnRlbXA7Cn0KcmV0dXJuIHRlbXA7Cn0KIAppbnQgbWFpbigpCnsKCWludCBwPTEwMDAwOyAgLy8gY2hhbmdlIHRoaXMgdG8gMTAwMCBvciBhbnkgb3RoZXIgdmFsdWUgbGVzcyB0aGFuIHRoYXQKZG91YmxlIHg9IHBvdygyLHApOwpkb3VibGUgeT0gbXlwb3cocCk7CmNvdXQ8PHg8PCIgIjw8eTsKcmV0dXJuIDA7Cn0=