#include <bits/stdc++.h>
using namespace std;
mt19937_64 rng((unsigned long long)new char);
const double eps = 1e-5;
const int maxn = 1000 + 10;
const long long INF = 1e18;
const int mod = 1e9 + 7;
int n;
pair<int, bool> dp[maxn << 1][maxn << 1];
inline void add(int& x, int y) {
  x += y;
  if (x > mod) x -= mod;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  n <<= 1;
  dp[0][0] = {0, 1};
  for (int len = 1; len <= n; ++len)
    for (int i = 0; i <= len; ++i) {
      int sum = 0;
      bool ava = 0;
      if (i) {
        add(sum, dp[len - 1][i - 1].first);
        ava |= dp[len - 1][i - 1].second;
      }
      if (i + 1 <= len - 1) {
        add(sum, dp[len - 1][i + 1].first);
        ava |= dp[len - 1][i + 1].second;
      }
      if (ava)
        dp[len][i] = {(add(sum, 1), sum), 0};
      else
        dp[len][i] = {sum, 1};
    }
  cout << dp[n][0].first;
}
