#include <bits/stdc++.h>
using namespace std;
int rx[4] = {0, 0, 1, -1};
int ry[4] = {-1, 1, 0, 0};
long long dp[3][1000002];
long long mod = 1000000007;
long long solve(int p, int i, int n) {
  if (p == 0 && i == n) {
    return 0;
  }
  if (i == n) {
    return 1;
  }
  if (dp[p][i] != 0) {
    return dp[p][i];
  }
  dp[p][i] = ((long long)dp[p][i] + solve(p, i + 1, n) + mod) % mod;
  if (p == 1) {
    if (i & 1) {
      dp[p][i] = ((long long)dp[p][i] + solve(2, i + 1, n) + mod) % mod;
    }
  } else if (p == 2) {
    if (!(i & 1)) {
      dp[p][i] = ((long long)dp[p][i] + solve(1, i + 1, n) + mod) % mod;
    }
  } else {
    if (i & 1) {
      dp[p][i] = ((long long)dp[p][i] + solve(2, i + 1, n) + mod) % mod;
    } else {
      dp[p][i] = ((long long)dp[p][i] + solve(1, i + 1, n) + mod) % mod;
    }
  }
  return (dp[p][i] + mod) % mod;
}
int main() {
  int n;
  cin >> n;
  long long x = solve(0, 0, n);
  long long ans = ((long long)x + mod) % mod;
  cout << ans << endl;
  return 0;
}
