#include <bits/stdc++.h>
using namespace std;
long long int mod = 1000000007;
long long int factorial(long long int n) {
  if (n == 0) return 1;
  long long int ans = 1;
  for (long long int i = 1; i <= n; i++) {
    ans = ((ans * i) % mod);
  }
  return ans;
}
int main() {
  long long int n;
  cin >> n;
  long long int f1 = factorial(n);
  f1 = f1 % mod;
  long long int p = n - 1, f2 = 1;
  while (p--) {
    f2 = (f2 * 2) % mod;
  }
  f2 = f2 % mod;
  long long int ans = ((f1 % mod) - (f2 % mod)) % mod;
  if (ans < 0) ans += mod;
  cout << ans % mod;
}
