#include<bits/stdc++.h>
using namespace std;
typedef long long int ll ;
const int MAX = 100000;
const int MOD = 1000000007; // 10^9 + 7 really big prime number
int bem(ll a , ll n , ll MOD){ //binary exponentiation with mod
if (n==0) return 1 % MOD ;
int half = bem(a,n/2,MOD) % MOD;
ll res;
if(n%2==0){
res = (half*half)%MOD;
}
else{
res = (a*half*half)%MOD;
}
return res;
}
int main(){
cout<<bem(3,4,MOD);
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgCgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGwgOyAKY29uc3QgaW50IE1BWCA9IDEwMDAwMDsKY29uc3QgaW50IE1PRCA9IDEwMDAwMDAwMDc7IC8vIDEwXjkgKyA3IHJlYWxseSBiaWcgcHJpbWUgbnVtYmVyIAoKaW50IGJlbShsbCBhICwgbGwgbiAsIGxsIE1PRCl7ICAgIC8vYmluYXJ5IGV4cG9uZW50aWF0aW9uIHdpdGggbW9kIAoJaWYgKG49PTApIHJldHVybiAxICUgTU9EIDsgCglpbnQgaGFsZiA9IGJlbShhLG4vMixNT0QpICUgTU9EOwoJbGwgcmVzOwoJaWYobiUyPT0wKXsKCQkgcmVzID0gKGhhbGYqaGFsZiklTU9EOwoJfQoJZWxzZXsKCQlyZXMgPSAoYSpoYWxmKmhhbGYpJU1PRDsKCQoJfQogcmV0dXJuIHJlczsKfSAKCmludCBtYWluKCl7CgkKCWNvdXQ8PGJlbSgzLDQsTU9EKTsKCXJldHVybiAwIDsgCgkKCQp9