#include <bits/stdc++.h>
using namespace std;
long long fp(long long x, long long exp) {
  if (exp == 0) return 1;
  if (exp % 2 == 0) return fp((x * x) % 1000000007, exp / 2) % 1000000007;
  return (((fp((x * x) % 1000000007, exp / 2)) % 1000000007) * x) % 1000000007;
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long fact[1000006], inv[1000005];
void calcFacAndInv(long long n) {
  fact[0] = inv[0] = 1;
  for (long long i = 1; i <= n; i++) {
    fact[i] = (i * fact[i - 1]) % 1000000007;
    inv[i] = fp(fact[i], 1000000007 - 2);
  }
}
long long ncr(long long n, long long r) {
  return ((fact[n] * inv[r]) % 1000000007 * inv[n - r]) % 1000000007;
}
long long npr(long long n, long long r) {
  return (fact[n] * inv[n - r]) % 1000000007;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  long long n;
  cin >> n;
  calcFacAndInv(2 * n);
  cout << ((2 * ncr(2 * n - 1, n)) % 1000000007 - n % 1000000007) % 1000000007;
  return 0;
}
