#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000000LL + 7LL;
const int mx = 2005;
long long dp[mx][mx][2];
long long cnt = 0;
int n;
long long func(int pos, int sum, int pp) {
  if (pos >= n) {
    return 0LL;
  }
  if (dp[pos][sum][pp] != -1) return dp[pos][sum][pp];
  long long ans1, ans2, ans;
  int baki = n - pos;
  assert(sum <= baki);
  if (sum == 0 && pp) {
    ans = func(pos + 1, sum + 1, 0);
  } else if (sum == baki && pp) {
    ans = func(pos + 1, sum - 1, 0);
  } else if (sum == 0) {
    ans = max(func(pos + 1, sum + 1, 0), 1LL + func(pos + 1, sum + 1, 1));
  } else if (sum == baki) {
    ans = max(func(pos + 1, sum - 1, 0), 1LL + func(pos + 1, sum - 1, 1));
  } else if (pp) {
    ans = func(pos + 1, sum + 1, 0) + func(pos + 1, sum - 1, 0);
  } else {
    ans1 = 1LL + func(pos + 1, sum + 1, 1) + func(pos + 1, sum - 1, 1);
    ans2 = func(pos + 1, sum + 1, 0) + func(pos + 1, sum - 1, 0);
    ans = max(ans1, ans2);
  }
  ans = ans % mod;
  return dp[pos][sum][pp] = ans;
}
int main() {
  scanf("%d", &n);
  n = 2 * n;
  memset(dp, -1, sizeof(dp));
  long long ans = func(0, 0, 0);
  printf("%lld\n", ans);
  return 0;
}
