#include <iostream>
using namespace std;
unsigned int trojkat(unsigned int **tablica, int index, int i_podzbior);
int main()
{
int T;
cin >> T;
if(T <= 10000)
{
while(--T + 1)
{
int n, k;
cin >> n >> k;
if(n >= k)
{
if(k >= 0 && k <= 1000 && n <= 1000 && n >= 0)
{
unsigned int **pascal = new unsigned int*[n + 1];
for(int i = 0; i <= n; ++i)
{
pascal[i] = new unsigned int[i + 1];
}
cout << trojkat(pascal, n, k) << endl;
for(int i = 0; i <= n; ++i)
{
delete [] pascal[i];
}
delete [] pascal;
}
}
}
}
return 0;
}
unsigned int trojkat(unsigned int **tablica, int index, int i_podzbior)
{
for(int i = 0; i <= index; ++i)
{
tablica[i][0] = 1;
tablica[i][i] = 1;
for(int j = 1; j < i; ++j)
{
tablica[i][j] = tablica[i - 1][j - 1] + tablica[i - 1][j];
}
}
return tablica[index][i_podzbior];
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVuc2lnbmVkIGludCB0cm9qa2F0KHVuc2lnbmVkIGludCAqKnRhYmxpY2EsIGludCBpbmRleCwgaW50IGlfcG9kemJpb3IpOwoKaW50IG1haW4oKQp7CiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOwogICAgaWYoVCA8PSAxMDAwMCkKICAgIHsKICAgICAgICB3aGlsZSgtLVQgKyAxKQogICAgICAgIHsKICAgICAgICAgICAgaW50IG4sIGs7CiAgICAgICAgICAgIGNpbiA+PiBuID4+IGs7CgogICAgICAgICAgICBpZihuID49IGspCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICBpZihrID49IDAgJiYgayA8PSAxMDAwICYmIG4gPD0gMTAwMCAmJiBuID49IDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICoqcGFzY2FsID0gbmV3IHVuc2lnbmVkIGludCpbbiArIDFdOwogICAgICAgICAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPD0gbjsgKytpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGFzY2FsW2ldID0gbmV3IHVuc2lnbmVkIGludFtpICsgMV07CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IHRyb2prYXQocGFzY2FsLCBuLCBrKSA8PCBlbmRsOwoKICAgICAgICAgICAgICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDw9IG47ICsraSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBbXSBwYXNjYWxbaV07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBbXSBwYXNjYWw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfQoKICAgIHJldHVybiAwOwp9Cgp1bnNpZ25lZCBpbnQgdHJvamthdCh1bnNpZ25lZCBpbnQgKip0YWJsaWNhLCBpbnQgaW5kZXgsIGludCBpX3BvZHpiaW9yKQp7CiAgICBmb3IoaW50IGkgPSAwOyBpIDw9IGluZGV4OyArK2kpCiAgICB7CiAgICAgICAgdGFibGljYVtpXVswXSA9IDE7CiAgICAgICAgdGFibGljYVtpXVtpXSA9IDE7CgogICAgICAgIGZvcihpbnQgaiA9IDE7IGogPCBpOyArK2opCiAgICAgICAgewogICAgICAgICAgICB0YWJsaWNhW2ldW2pdID0gdGFibGljYVtpIC0gMV1baiAtIDFdICsgdGFibGljYVtpIC0gMV1bal07CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhYmxpY2FbaW5kZXhdW2lfcG9kemJpb3JdOwp9Cg==