#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++) using namespace std; typedef long long int ll; typedef vector VI; typedef vector VL; typedef pair PI; const ll mod = 1e9 + 7; int main(void) { int n; cin >> n; VL a(n + 1), acc(n + 1); a[1] = 1; acc[1] = 1; REP(i, 2, n + 1) { a[i] = i * acc[i - 1] % mod; acc[i] = (acc[i - 2] + a[i]) % mod; } cout << a[n] << endl; }