#include<bits/stdc++.h>
using namespace std;
using ll = long long int;
#define MOD (ll) (1e9+7)
ll pw(ll a,ll b)
{
ll res=1;
while(b)
{
if(b%2 == 1)
{
res = (res*a)%MOD;
}
b=b/2;
a = (a*a)%MOD;
}
return res%MOD;
}
int main()
{
ll t;
cin>>t;
while(t--)
{
ll n,k;
cin>>n>>k;
ll h[n],g[n];
for(int i=0;i<n;i++)
{
cin>>h[i];
}
for(int i=0;i<n;i++)
{
cin>>g[i];
}
ll cnt = 0;
for(int i=1;i<=(1LL<<n)-1;i++)
{
ll su = 0,last = -1;
ll fl = 0;
for(int j=0;j<n;j++)
{
if(i&(1LL<<j) && h[j]>=last)
{
su+=g[j];
last = h[j];
}
else if(i&(1LL<<j) && h[j]<last)
{
fl = 1;
break;
}
}
if(fl == 1)
{
continue;
}
else{
if(su>=k)
{
cnt++;
}
}
}
cout<<cnt<<"\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbGwgPSBsb25nIGxvbmcgaW50OwojZGVmaW5lIE1PRCAobGwpICgxZTkrNykKIApsbCBwdyhsbCBhLGxsIGIpCnsKCWxsIHJlcz0xOwoJd2hpbGUoYikKCXsKCQlpZihiJTIgPT0gMSkKCQl7CgkJCXJlcyA9IChyZXMqYSklTU9EOwoJCX0KCQliPWIvMjsKCQlhID0gKGEqYSklTU9EOwoJfQoJcmV0dXJuIHJlcyVNT0Q7Cn0KaW50IG1haW4oKQp7CglsbCB0OwoJY2luPj50OwoJd2hpbGUodC0tKQoJewoJbGwgbixrOwoJY2luPj5uPj5rOwogICAgbGwgaFtuXSxnW25dOwoJZm9yKGludCBpPTA7aTxuO2krKykKCXsKCQljaW4+PmhbaV07Cgl9Cglmb3IoaW50IGk9MDtpPG47aSsrKQoJewoJCWNpbj4+Z1tpXTsKCX0KCWxsIGNudCA9IDA7CgkgZm9yKGludCBpPTE7aTw9KDFMTDw8biktMTtpKyspCgkgewoJCSBsbCBzdSA9IDAsbGFzdCA9IC0xOwoJCSBsbCBmbCA9IDA7CgkJZm9yKGludCBqPTA7ajxuO2orKykKCQl7CgkJCWlmKGkmKDFMTDw8aikgJiYgaFtqXT49bGFzdCkKCQkJewogICAgICAgICAgICAgICBzdSs9Z1tqXTsKCQkJICAgbGFzdCA9IGhbal07CgkJCX0KCQkJZWxzZSBpZihpJigxTEw8PGopICYmIGhbal08bGFzdCkKCQkJewoJCQkJZmwgPSAxOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYoZmwgPT0gMSkKCQl7CgkJCWNvbnRpbnVlOwoJCX0KCQllbHNlewoJCQlpZihzdT49aykKCQkJewoJCQkJY250Kys7CgkJCX0KCQl9CgkgfQoJIGNvdXQ8PGNudDw8IlxuIjsKCX0KfQ==