package poj1664_1;
import java.util.Scanner;
public class Poj1664 {
public static int[] res=new int[20];
public static int respc=0;
public static int[] a;
public static int[] b;
public static int[] visit;
public static int visitpc=0;
public static int rescun;
public static int restonum(int len){
for(int i=0;i<len;i++){
b[i]=a[i];
}
for(int i=0;i<len-1;i++){
int min=b[i];
int minIndex=i;
for(int j=i+1;j<len;j++){
if(min>b[j]){
min=b[j];
minIndex=j;
}
}
b[minIndex]=b[i];
b[i]=min;
}
int sum=0;
for(int i=0;i<len;i++){
sum=sum*10+b[i];
}
return sum;
}
public static void dFS(int m_apple,int n_panzi,int applenum,int layer){//bu neng yi ge pan zi fang suos you ping guo
if(layer==n_panzi&&applenum!=m_apple) return;
if(applenum==m_apple){
int flag=0;
int temp=restonum(layer);
for(int i=0;i<visitpc;i++){
if(visit[i]==temp) flag=1;
}
if(flag==0){
rescun++;
visit[visitpc++]=temp;
}
return;
}
for(int i=0;i<m_apple;i++){
if(applenum+i<=m_apple){
a[layer]=i;
dFS(m_apple,n_panzi,applenum+i,layer+1);
}
}
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int tnum=sc.nextInt();
int nnum=tnum;
while(tnum-->0){
rescun=0;
int m=sc.nextInt();//7
int n=sc.nextInt();//3
a=new int[n];
visit=new int[100000];
b=new int[n];
dFS(m,n,0,0);
res[respc++]=rescun+1;
}
for(int i=0;i<nnum;i++){
System.out.println(res[i]);
}
}
}