#include <stdio.h>
#include 
<string.h>
#include 
<math.h>


int Num[101][101],Add[101][101];

int n ,k;

int main()
{

    memset(Num,
0,sizeof(Num));
    memset(Add,
0,sizeof(Add));
    Add[
3][1]=1,Add[3][2]=0,Add[3][3]=0;
    Add[
4][1]=1,Add[4][2]=2,Add[4][3]=2,Add[4][4]=2;
    Add[
5][1]=1,Add[5][2]=6,Add[5][3]=12,Add[5][4]=18,Add[5][5]=24;

    
int i, j;

    
for(i=6;i<=100;i++)
    
{
        Add[i][
2]=(int)pow(2,i-2)-2;
        
for(j=3;j<=i;j++)
            Add[i][j]
=Add[i-1][j-1]+Add[i][j-1];
    }


    
for(i=3;i<=100;i++)
    
{
        Num[i][
1]=1;
        
for(j=2;j<=i;j++)
            Num[i][j]
=Num[i][j-1]+Add[i][j];
    }


    
int t;
    scanf(
"%d",&t);
    
while(t--)
    
{
        scanf(
"%d%d",&n,&k);
        printf(
"%d\n",Num[n][n-k+1]);
    }

    
return 0;
}
结果是错的。。。。