#include using namespace std; typedef long long ll; #define REP(i,a,n) for(ll i=(a); i<(ll)(n); i++) ll MOD = 1e9 + 7; ll pow_mod(ll x, ll n) { ll re = 1; while(n > 0) { if (n & 1) re = (re * x) % MOD; x = (x * x) % MOD; n >>= 1; } return re; } int main(void) { ll N; cin >> N; ll ans = 0; ll cmb = N; REP(x, 1, N) { ans = ( ans + ( cmb * pow_mod(x, N - x) ) ) % MOD; cmb = ((cmb * (N - x)) / (x + 1)) % MOD; } cout << ++ans << endl; return 0; }