#include <bits/stdc++.h>
using namespace std;
long long int setbit(long long int num, long long int nth) {
  return num |= (1LL << nth);
}
long long int clearbit(long long int num, long long int nth) {
  return num &= ~(1LL << nth);
}
long long int toggle(long long int num, long long int nth) {
  return num ^= (1LL << nth);
}
long long int check(long long int num, long long int nth) {
  return (num >> nth) & 1LL;
}
long long int change(long long int num, long long int nth, long long int val) {
  return num ^= (-val ^ num) & (1LL << nth);
}
int fx[8] = {2, 1, -1, -2, -2, -1, 1, 2};
int fy[8] = {1, 2, 2, 1, -1, -2, -2, -1};
long long int dp[1000068][3];
int main() {
  int tt = 1, read, cs = 0;
read:
  while (tt--) {
    long long int n;
    cin >> n;
    dp[1][0] = 0;
    dp[1][1] = 1;
    for (int i = 2; i <= n; i++) {
      if (i & 1) {
        (dp[i][i & 1] = dp[i - 1][1] + dp[i - 1][0] + 1) %= 1000000007;
        (dp[i][0] = dp[i - 1][0]) %= 1000000007;
      } else {
        (dp[i][0] = dp[i - 1][0] + dp[i - 1][1] + 1) % 1000000007;
        (dp[i][1] = dp[i - 1][1]) %= 1000000007;
      }
    }
    cout << (dp[n][1] + dp[n][0]) % 1000000007 << endl;
  }
  return 0;
}
