#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007

int main(){
  long long a[4][4] = {{1, 1, 1, 2}, {0, 1, 1, 2}, {0, 1, 0, 0}, {0, 1, 0, 1}};
  long long ans[4] = {1, 1, 0, 0};
  long long n; cin >> n; n--;
  while (n != 0) {
    if (n % 2) {
      long long tmp[4] = {0};
      for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {
          tmp[i] += a[i][j] * ans[j];
          tmp[i] %= mod;
        }
      }
      swap(ans, tmp);
    }
    long long b[4][4] = {0};
    for (int i = 0; i < 4; i++) {
      for (int j = 0; j < 4; j++) {
        for (int k = 0; k < 4; k++) {
          b[i][j] += a[i][k] * a[k][j];
          b[i][j] %= mod;
        }
      }
    }
    swap(a, b);
    n /= 2;
  }
  cout << ans[0] << endl;
  return 0;
}