#include <bits/stdc++.h>
using namespace std;
const int len = 15;
// 用于展示我们我们所推导出的所有情况
void show(int x[len][len])
{
for(int i=0;i<=10;i++)
{
for(int j=0;j<=10;j++)
{
cout << x[i][j] << " ";
}
cout << endl;
}
}
int main()
{
int x[len][len]={0};
// m代表苹果数,n代表盘子数
int m,n;
// 没有盘子和只有一个盘子的情况
for(m=0;m<len;m++) x[m][0] = x[m][1] = 1;
// 没有苹果和只有一个苹果的情况
for(n=0;n<len;n++) x[0][n] = x[1][n] = 1;
// 其他情况
for(m=2;m<len;m++)
{
for(int n=2;n<len;n++)
{
// 苹果比盘子少,多余的空盘子可以忽略
if(m<n) x[m][n] = x[m][m];
// 苹果比盘子多
else x[m][n] = x[m-n][n] + x[m][n-1];
}
}
// show(x);
int f;
cin >> f;
for(int i=0;i<f;i++)
{
cin >> m >> n;
cout << x[m][n];
}
return 0;
}