#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000L * 1000L * 1000L + 7LL;
long long deepika(long long n, long long p) {
  if (p == 0) {
    return 1LL;
  }
  if (p == 1) {
    return n;
  }
  long long ans, temp;
  temp = deepika(n, p / 2);
  ans = (temp % mod * temp % mod) % mod;
  if (p % 2) {
    ans = (n % mod * ans % mod) % mod;
  }
  return ans;
}
int main() {
  long long n;
  scanf("%lld", &n);
  if (n == 0) {
    return 0 * printf("1\n");
  }
  long long ans =
      (deepika(2, 2LL * n - 1) % mod + deepika(2, n - 1) % mod) % mod;
  printf("%lld\n", ans);
  return 0;
}
