Pattern Locker
求 C(n*n,l)l!+C(n*n,l+1)(l+1)!…..+C(n*n,r)*r!
#include <iostream>
using namespace std;
#include <stdio.h>
#include <math.h>
const long long mo = 10000000000007;
long long n, l, r;
int main() {
int tt;
cin >> tt;
long long ans, t;
for (int cases = 1; cases <= tt; cases++) {
cin >> n >> l >> r;
t = 1;
ans = 0;
for (int i = 1; i <= r; i++) {
t = (t*(n*n-i+1))%mo;
if (i >= l) ans = (ans+t)%mo;
}
cout << "Case " << cases << ": " << ans << endl;
}
}