#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll C[2900][2900]={0};
void preCompute() {
for(int i=0;i<2900;i++) {
C[i][0]=1;
}
for(int i=1;i<2900;i++) {
for(int j=1;j<=i;j++) {
C[i][j]=(C[i-1][j-1]+C[i-1][j])%2713;
}
}
}
vector<ll> convertBase2713(ll num) {
vector<ll> v;
while(num) {
v.push_back(num%2713);
num/=2713;
}
return v;
}
ll nCr(ll n,ll r) {
vector<ll> nb=convertBase2713(n);
vector<ll> rb=convertBase2713(r);
ll ans=1;
for(int i=0;i<nb.size() && i<rb.size();i++) {
ans*=C[nb[i]][rb[i]];
ans%=2713;
}
return ans;
}
int main()
{
preCompute();
ll t;
cin>>t;
while(t--) {
ll n,m;
cin>>n>>m;
ll u=(n*(n-1))/2;
if(m==0 || m>=u) {
cout<<"1\n";
continue;
}
cout<<nCr(u,m)<<'\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKbGwgQ1syOTAwXVsyOTAwXT17MH07Cgp2b2lkIHByZUNvbXB1dGUoKSB7CiAgICBmb3IoaW50IGk9MDtpPDI5MDA7aSsrKSB7CiAgICAgICAgQ1tpXVswXT0xOwogICAgfQogICAgZm9yKGludCBpPTE7aTwyOTAwO2krKykgewogICAgICAgIGZvcihpbnQgaj0xO2o8PWk7aisrKSB7CiAgICAgICAgICAgIENbaV1bal09KENbaS0xXVtqLTFdK0NbaS0xXVtqXSklMjcxMzsKICAgICAgICB9CiAgICB9Cn0KCnZlY3RvcjxsbD4gY29udmVydEJhc2UyNzEzKGxsIG51bSkgewogICAgdmVjdG9yPGxsPiB2OwogICAgd2hpbGUobnVtKSB7CiAgICAgICAgdi5wdXNoX2JhY2sobnVtJTI3MTMpOwogICAgICAgIG51bS89MjcxMzsKICAgIH0KICAgIHJldHVybiB2Owp9CgpsbCBuQ3IobGwgbixsbCByKSB7CiAgICB2ZWN0b3I8bGw+IG5iPWNvbnZlcnRCYXNlMjcxMyhuKTsKICAgIHZlY3RvcjxsbD4gcmI9Y29udmVydEJhc2UyNzEzKHIpOwogICAgbGwgYW5zPTE7CiAgICBmb3IoaW50IGk9MDtpPG5iLnNpemUoKSAmJiBpPHJiLnNpemUoKTtpKyspIHsKICAgICAgICBhbnMqPUNbbmJbaV1dW3JiW2ldXTsKICAgICAgICBhbnMlPTI3MTM7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CgoKaW50IG1haW4oKQp7CiAgICBwcmVDb21wdXRlKCk7CiAgICBsbCB0OwogICAgY2luPj50OwogICAgd2hpbGUodC0tKSB7CiAgICAgICAgbGwgbixtOwogICAgICAgIGNpbj4+bj4+bTsKICAgICAgICBsbCB1PShuKihuLTEpKS8yOwogICAgICAgIGlmKG09PTAgfHwgbT49dSkgewogICAgICAgICAgICBjb3V0PDwiMVxuIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PG5Dcih1LG0pPDwnXG4nOwogICAgfQogICAgcmV0dXJuIDA7Cn0=