topic
analysis
- Obviously, we first starting 2 * 2 * 2 on every down, left * 2
- The down for such numbers will be defined, so do not control
- And then went to repeat 24
Code
1 #include<iostream> 2 #define mod 1000000007 3 using namespace std; 4 long long ksm(long long a,long long b) 5 { 6 long long x=a,ans=1; 7 while (b) 8 { 9 if (b&1!=0) ans=ans*x%mod; 10 x=x*x%mod; 11 b>>=1; 12 } 13 return ans%mod; 14 } 15 int main () 16 { 17 long long n,m; 18 cin>>n>>m; 19 long long a=ksm(2,n-1),b=ksm(2,m-1); 20 cout<<(a+b-2)*12%mod; 21 }