#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include #define rep(i,n) for(int i=0;i<(n);i++) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define sz(x) ((int)(x).size()) #define pb push_back using ll = long long; using namespace std; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> N; ll A,B; cin >> A >> B; vector fac(N+1); fac[0]=fac[1]=1; for(ll i=2;i<=N;i++){ fac[i] = fac[i-1]*i%mod; } ll al = fac[N]; ll m1 = fac[N-1]; al += (mod-m1)*2; if(A!=B) al += fac[N-2]; cout << al % mod << endl; return 0; }