#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
// 输入输出流优化,加速cin/cout的读写速度
ios::sync_with_stdio(0),cin.tie(0);
ll T;
cin>>T; // 读取测试用例的数量
// 循环处理每一组测试用例
while(T--){
ll n,m;
cin>>n>>m; // 读取每组用例的n(数组长度)和m(要求的最小不同元素数)
// 算法核心逻辑:基于"好数组"的生成规律,分情况统计满足条件的数组数量
// 情况1:要求不同元素数≥1 → 所有合法的"好数组"都满足(共n+1个,对应a_n取0~n)
if(m==1){
cout<<n+1<<endl;
}
// 情况2:要求不同元素数≥2 → 排除a_n=0的情况(仅1种),剩余n个满足
else if(m==2){
cout<<n<<endl;
}
// 情况3:要求不同元素数≥3 → 仅当a_n=n时满足(n≥3时不同元素数为3),仅1种
else if(m==3){
cout<<1<<endl;
}
// 情况4:要求不同元素数>3 → 好数组的不同元素数最大为3,无满足条件的数组
else{
cout<<0<<endl;
}
}
return 0;
}