1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<algorithm>
5 using namespace std;
6 #define MOD 1000000007
7
8 char str[100100];
9 long long Pow(long long n)
10 {
11 long long p=1,q=2;
12 while(n){
13 if(n&1){
14 p=p*q%MOD;
15 }
16 n>>=1;
17 q=q*q%MOD;
18 }
19 return p;
20 }
21
22 int main()
23 {
24 while(~scanf("%s",str)){
25 int len=strlen(str);
26 long long n=0;
27 for(int i=0;i<len;i++){
28 n=(n*10+str[i]-'0')%(MOD-1);
29 }
30 printf("%I64d\n",Pow(n-1));
31 }
32 return 0;
33 }
View Code