#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
const int max=40;
//相同的错排思想。m个新郎全部找错。则从n中选出n-m个新郎找对了新娘
//错排公式M(n)=(n-1)*(M(n-1)+M(n-2))
long long f(int m){
if(m==1)return 0;
if(m==2)return 1;
return (m-1)*(f(m-1)+f(m-2));
}
long long pailie(int n,int m){
long long s1=1,s2=1;
for(int i=1;i<=m;i++)
s2*=i;
for(int i=n;i>n-m;i--)
s1*=i;
return s1/s2;
}
int main(){
int m,n,c;
scanf("%d",&c);
while(c--){
scanf("%d %d",&n,&m);
printf("%lld\n",f(m)*pailie(n,m));
}
return 0;
}