#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
long long t, n, m, x, y, c;
long long fp(long long x, long long po, long long m) {
  long long res = 1;
  while (po) {
    if (po & 1) res = ((res % m) * (x % m)) % m;
    x = ((x % m) * (x % m)) % m;
    po >>= 1;
  }
  return (res % m);
}
int main() {
  scanf("%I64d", &n);
  c = fp(2, n, 1000000007);
  c = ((c * (c + 1)) >> 1) % 1000000007;
  printf("%I64d\n", c);
  return 0;
}
