#include using namespace std; using ll=long long; using pll=pair; using tll=tuple; const ll INF=(1ll<<60); #define rep(i,n) for (ll i=0;i<(ll)(n);i++) #define all(v) v.begin(),v.end() template void chmin(T &a,T b){ if(a>b){ a=b; } } template void chmax(T &a,T b){ if(a> n >> a >> b; vector f(n+1); f[0]=1; for(ll i=1;i<=n;i++) f[i]=f[i-1]*i%mod; if(a==b) cout << (f[n]-f[n-1]+mod-f[n-1]+mod)%mod << '\n'; else cout << (f[n]-f[n-1]+mod-f[n-1]+mod+f[n-2])%mod << '\n'; }