#include <bits/stdc++.h>
const long long N = 2e3 + 10;
const long long mo = 1e9 + 7;
long long f[N][N];
bool g[N][N];
using namespace std;
signed main() {
  long long n;
  scanf("%lld", &n);
  n <<= 1;
  f[0][0] = 0, g[0][0] = true;
  for (long long i = 1; i <= n; i++)
    for (long long j = 0; j <= n; j++) {
      long long ret = 0, flag = 0;
      if (j != 0) ret = (ret + f[i - 1][j - 1]) % mo, flag |= g[i - 1][j - 1];
      if (j + 1 <= i)
        ret = (ret + f[i - 1][j + 1]) % mo, flag |= g[i - 1][j + 1];
      if (flag)
        f[i][j] = (ret + 1) % mo, g[i][j] = false;
      else
        f[i][j] = ret % mo, g[i][j] = true;
    }
  printf("%lld\n", f[n][0]);
  return 0;
}
