#include <bits/stdc++.h>
using namespace std;
const int N = 261000;
const double eps = 1e-8;
const int inf = 1e9 + 7;
long long fac[N];
long long add(long long a, long long b, long long mod) { return (a + b) % mod; }
long long mul(long long a, long long b, long long mod) { return a * b % mod; }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long i, n, mod, ans = 0, k;
  cin >> n >> mod;
  fac[0] = 1;
  for (i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % mod;
  for (k = 1; k <= n; k++)
    ans = add(
        mul(mul(mul(n - k + 1, n - k + 1, mod), fac[k], mod), fac[n - k], mod),
        ans, mod);
  cout << ans;
  return 0;
}
