#include <bits/stdc++.h>
bool debug = 1;
const long long MOD = 1000000007;
const double PI = acos(-1.0);
const double eps = 1e-9;
using namespace std;
long long dp[2050][2050];
int n;
long long solve(int pos, int aberto) {
  if (pos < 0) return 0;
  if (aberto == -1 || aberto > n || aberto + pos > 2 * n) return 0;
  if (dp[pos][aberto] != -1) return dp[pos][aberto];
  dp[pos][aberto] = solve(pos - 1, aberto + 1) + solve(pos - 1, aberto - 1);
  dp[pos][aberto] %= MOD;
  return dp[pos][aberto];
}
int main() {
  cin >> n;
  for (int i = 0; i <= 2 * n + 10; i++) {
    for (int j = 0; j <= 2 * n + 10; j++) dp[i][j] = -1;
  }
  dp[0][0] = 1;
  long long res = 0;
  for (int i = 1; i <= 2 * n; i += 2) {
    for (int j = 0; j <= n; j++) {
      res += solve(i, j);
      res %= MOD;
    }
  }
  cout << res << endl;
  return 0;
}
