#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; long long int INF = 3e18; double Pi = 3.1415926535897932384626; vector G[500005]; vector

tree[500010]; priority_queue pql; priority_queue

pqp; //big priority queue priority_queue ,greater > pqls; priority_queue ,greater

> pqps; //small priority queue //top pop int dx[8]={1,0,-1,0,1,1,-1,-1}; int dy[8]={0,1,0,-1,1,-1,-1,1}; char dir[] = "DRUL"; //ll bit[500005]; //↓,→,↑,← #define p(x) cout<> n >> k; a = (fact[n-1]) % mod; a *= rfact[n-k-1]; a %= mod; b = (fact[n-2]) % mod; b *= rfact [n-k]; b %= mod; b *= (k * (k - 1) / 2); b %= mod; //pe(a);p(b); ans = a + b; ans %= mod; ans *= (n * (n - 1) / 2); ans %= mod; ans += a * n; ans %= mod; p(ans); return 0; }