#include <iostream>
using namespace std;
int n, k, c, testy;
int SILNIAC(int s, int k)
{
if (s==c||s<=1) return 1;
return s*SILNIAC(s-1,k-1)/k;
}
int SILNIAK(int s, int c)
{
if (s==k||s<=1) return 1;
return s*SILNIAK(s-1,c-1)/c;
}
int main()
{
cin >> testy;
int wynik[testy];
for(int i=0;i<testy;i++)
{
cin >> n >> k;
c=n-k;
if (k>n){wynik[i]=0;}
else if (k==n)
{
wynik[i]=1;
}
else if(c>=k)
{
wynik[i]=SILNIAC(n,k);
}
else
{
wynik[i]=SILNIAK(n,c);
}
}
for(int i=0;i<testy;i++)
{
cout << wynik[i]<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuLCBrLCBjLCB0ZXN0eTsKCmludCBTSUxOSUFDKGludCBzLCBpbnQgaykKewogICAgaWYgKHM9PWN8fHM8PTEpIHJldHVybiAxOwogICAgcmV0dXJuIHMqU0lMTklBQyhzLTEsay0xKS9rOwp9CgppbnQgU0lMTklBSyhpbnQgcywgaW50IGMpCnsKICAgIGlmIChzPT1rfHxzPD0xKSByZXR1cm4gMTsKICAgIHJldHVybiBzKlNJTE5JQUsocy0xLGMtMSkvYzsKfQoKCgppbnQgbWFpbigpCnsKICAgIGNpbiA+PiB0ZXN0eTsKICAgIGludCB3eW5pa1t0ZXN0eV07CgogICAgZm9yKGludCBpPTA7aTx0ZXN0eTtpKyspCiAgICB7CiAgICBjaW4gPj4gbiA+PiBrOwogICAgYz1uLWs7CiAgICBpZiAoaz5uKXt3eW5pa1tpXT0wO30KICAgIGVsc2UgaWYgKGs9PW4pCiAgICB7CiAgICAgICAgd3luaWtbaV09MTsKICAgIH0KICAgIGVsc2UgaWYoYz49aykKICAgIHsKICAgICAgICB3eW5pa1tpXT1TSUxOSUFDKG4sayk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgd3luaWtbaV09U0lMTklBSyhuLGMpOwogICAgfQogICAgfQoKICAgIGZvcihpbnQgaT0wO2k8dGVzdHk7aSsrKQogICAgewogICAgICAgIGNvdXQgPDwgd3luaWtbaV08PGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=