/*                             孔融分梨
    孔融让梨,人人称颂;孔融分梨,也不简单。孔融有M个同样的梨,要分给N个人。每
个人手上有一个同样的盘子,孔融要将梨放入盘中,允许有的盘子空着不放,问共有多少种
不同的分法?3,1,1和1,3,1和1,1,3是同一种分法。
    第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格
分开。1<=M,N<=10。
    对输入的每组数据M和N,用一行输出相应的分法数目。
 Sample Input:
 1
 7 3Sample Output:
 8
 */
#include <stdio.h>
int fun(int m,int n) ;
int main()
{
    int test;
    int m,n;
    scanf("%d",&test);
    while(test--)
      {
          scanf("%d%d",&m,&n);
          printf( "%d\n",fun(m,n) );
      }
    return 0;
}
int fun(int m,int n)
{
    if(m<0)   return 0;
    if(m==1)   return 1;//如果m==1,只有一种分法 
    if(n==1)   return 1;//如果n==1,只有一种分法 
    //fun(m-n,n)表示分出n个梨后,剩下的梨的分法
 //fun(m,n-1)表示m个梨分给n-1个人的分法 
    return  ( fun(m-n,n)+fun(m,n-1) );//递归调用求所有分法的和 
}