#include //#include using namespace std; //using namespace atcoder; typedef long long ll; typedef pair P; //typedef modint998244353 mint; #define rep(i,a,b) for(ll i=a;i=b;i--) ll modpow(ll a,ll n,ll MOD){ ll res=1; while(n>0){ if(n&1) res=res*a%MOD; a=a*a%MOD; n>>=1; } return res; } const ll MAX=200005; const ll MOD=1000000007; ll fac[MAX],finv[MAX],inv[MAX]; void COMinit(){ fac[0]=fac[1]=1; finv[0]=finv[1]=1; inv[1]=1; for(ll i=2;i>n; COMinit(); for(int i=1;i<=n;i++){ ans=(ans+COM(n,i)*modpow(i,n-i,MOD))%MOD; } cout<