/* -*- coding: utf-8 -*- * * 573.cc: No.573 a^2[i] = a[i] - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ typedef long long ll; const ll MOD = 1000000007; /* typedef */ /* global variables */ /* subroutines */ ll powmod(ll a, int b) { ll pm = 1; while (b > 0) { if (b & 1) pm = pm * a % MOD; a = a * a % MOD; b >>= 1; } return pm; } /* main */ // sum_(i=0)^n nCi*i^(n-i) int main() { int n; cin >> n; ll sum = 0, comb = 1; for (int i = 0; i <= n; i++) { ll p = comb * powmod(i, n - i) % MOD; sum = (sum + p) % MOD; comb = comb * (n - i) % MOD * powmod(i + 1, MOD - 2) % MOD; } printf("%lld\n", sum); return 0; }