#include <bits/stdc++.h>
using namespace std;
long long a1, a2, ans;
int n;
void extend_gcd(long long a, long long b, long long &x, long long &y) {
  if (!b) {
    x = 1;
    y = 0;
  } else {
    extend_gcd(b, a % b, y, x);
    y -= a / b * x;
  }
}
long long rev(long long v) {
  long long x, y;
  extend_gcd(v, 1000000007, x, y);
  x = (x % 1000000007 + 1000000007) % 1000000007;
  return x;
}
int main() {
  while (scanf("%d", &n) != EOF) {
    if (n == 1)
      printf("1\n");
    else {
      a1 = n;
      a2 = 1;
      ans = n;
      for (int r = 2; r <= n; r++) {
        long long rr = rev(r);
        long long rr1 = rev(r - 1);
        a1 = a1 * (n - r + 1) % 1000000007 * rr % 1000000007;
        a2 = a2 * (n - r + 1) % 1000000007 * rr1 % 1000000007;
        ans = (ans + (a1 * a2) % 1000000007) % 1000000007;
      }
      ans = (ans * 2 - n) % 1000000007;
      ans = (ans + 1000000007) % 1000000007;
      cout << ans << endl;
    }
  }
  return 0;
}
