错排公式
fn=(n-1)(fn-1 +fn-2)
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
int f[90];
main()
{
int T;
cin>>T;
while(T--)
{
int n,m;
cin>>n>>m;
int ff=1;
for(int a=m+1;a<=n;a++)ff*=a;
for(int a=1;a<=n-m;a++)ff/=a;
f[0]=0,f[1]=0,f[2]=1;
for(int a=3;a<=n;a++)
{
f[a]=(a-1)*(f[a-1]+f[a-2]);
}
cout<<ff*f[m]<<endl;
}
}