#include <stdio.h>
__int64 com(int n,int m) {
int i;
__int64 top = 1,bottom = 1;
for(i = 1;i <= m;i ++){
bottom = bottom * i;
}
for(i = n;i > n-m;i--) {
top = top * i;
}
return top/bottom;
}
int main() {
int m,n,sum,i;
__int64 a[21];
a[1] = 0;
a[2] = 1;
for(i = 3;i <= 20;i ++) {
a[i] = (a[i-1] + a[i-2]) * (i-1);
}
scanf("%d",&sum);
while(sum--) {
scanf("%d %d",&n,&m);
printf("%I64d\n",com(n,m)*a[m]);
}
}