#include <bits/stdc++.h>
using namespace std;
const long long m = 1e9 + 7;
long long fc[2000069];
long long expo(long long n, long long r) {
  if (r == 0)
    return 1;
  else if (r == 1)
    return n;
  else if (r == 2)
    return (n * n) % m;
  long long ret = expo(n, r / 3);
  ret = (((ret * ret) % m) * ret) % m;
  if (r % 3 >= 1) ret = (ret * n) % m;
  if (r % 3 == 2) ret = (ret * n) % m;
  return ret % m;
}
long long choose(long long n, long long r) {
  if (n == 0) return 1;
  if (n < r) return 0;
  long long ret = (fc[n] * expo(fc[r], m - 2)) % m;
  return (ret * expo(fc[n - r], m - 2)) % m;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  fc[0] = 1;
  for (long long i = 1; i < 2000069; i++) fc[i] = (fc[i - 1] * i) % m;
  long long n;
  cin >> n;
  long long now = expo(2, n);
  long long ans = expo(2, n + 1) - 1;
  long long sub = 1;
  for (long long i = n; i <= 2 * n; i++) {
    now = (2 * now) % m;
    if (i >= n) {
      now = (now - 2 * sub + 2 * m) % m;
    }
    sub = (sub * (i + 1)) % m;
    sub = (sub * (expo(i + 1 - n, m - 2))) % m;
    ans = (ans + now) % m;
  }
  cout << ans << endl;
}
