#include <bits/stdc++.h>
using namespace std;
struct dp {
  long long d = 1, a = 0, b = 0, c = 0;
};
const int INF = 1e9 + 7;
int main() {
  int n;
  cin >> n;
  dp dp1, dp2;
  for (int i = 0; i < n; ++i) {
    dp2.d = (dp1.a + dp1.b + dp1.c) % INF;
    dp2.a = (dp1.b + dp1.c + dp1.d) % INF;
    dp2.b = (dp1.a + dp1.c + dp1.d) % INF;
    dp2.c = (dp1.a + dp1.b + dp1.d) % INF;
    dp1 = dp2;
  }
  cout << dp2.d << endl;
  return 0;
}
