#include <bits/stdc++.h>
using namespace std;
const long long N = 2e3 + 3;
long long n, mod = 1e9 + 7, dp[N][N][2];
long long f(long long idx, long long diff, long long stat) {
  long long &ret = dp[idx][diff][stat];
  if (ret != -1) return ret;
  if (idx == n) {
    ret = 0;
    return ret;
  }
  ret = 0;
  if (stat == 0) {
    if (n - idx - 1 >= diff + 1) {
      ret =
          (f(idx + 1, diff + 1, 0) + (diff > 0 ? f(idx + 1, diff - 1, 0) : 0)) %
          mod;
      ret = max(ret, (f(idx + 1, diff + 1, 1) + 1 +
                      (diff > 0 ? f(idx + 1, diff - 1, 0) : 0)) %
                         mod);
      ret = max(ret, (f(idx + 1, diff + 1, 0) +
                      (diff > 0 ? 1 + f(idx + 1, diff - 1, 1) : 0)) %
                         mod);
    } else {
      if (diff > 0)
        ret = max(f(idx + 1, diff - 1, 0), 1 + f(idx + 1, diff - 1, 1));
      else
        ret = 0;
    }
  } else {
    if (n - idx - 1 >= diff + 1) {
      ret =
          (f(idx + 1, diff + 1, 0) + (diff > 0 ? f(idx + 1, diff - 1, 0) : 0)) %
          mod;
    } else {
      if (diff > 0)
        ret = f(idx + 1, diff - 1, 0);
      else
        ret = 0;
    }
  }
  return ret;
}
int main() {
  cin >> n;
  n *= 2;
  for (long long i = 0; i <= n; i++)
    for (long long ii = 0; ii <= n; ii++)
      for (long long iii = 0; iii < 2; iii++) dp[i][ii][iii] = -1;
  cout << f(0, 0, 0) << "\n";
  return 0;
}
