#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define str string
#define pu push
#define pb push_back
#define pii pair<long long,long long>
#define __MaCodVN__ signed main()
#define task "TroChoiTrenBang"
const ll N=2e5+9;
const ll mxN= 1e6+9;
const ll mod=1e9+7;
const int AC=0;
using namespace std;
ll n,tt,m,a[N],b[N];
map<ll,ll> d;
bool check (ll x)
{
//cout<<x<<" "<<d[x]<<'\n';
if(x==0 || (x==1 && d[x]==0))
return false;
if(d[x])
return true;
else
{
if(x%2==0)
{
if(check(x/2))
{
d[x/2]--;
if(check(x/2))
{
d[x/2]--;
d[x]++;
return true;
}
d[x/2]++;
return false;
}
return false;
}
else
{
if(check(x/2))
{
d[x/2]--;
if(check(x/2+1))
{
d[x/2+1]--;
d[x]++;
return true;
}
d[x/2]++;
return false;
}
return false;
}
}
}
void meme1()
{
priority_queue<ll> q;
for(ll i=1;i<=n;i++){
d[a[i]]++;
//resa+=a[i];
}
for(ll i=1;i<=m;i++){
q.push(b[i]);
//resb+=b[i];
}
ll cnt=0;
while(q.size())
{
ll x=q.top();
q.pop();
auto it=d.find(x);
if(it!= d.end() && it -> second>0)
{
it -> second--;
if(it -> second ==0)
d.erase(it);
continue;
}
if(x==1)
{
cout<<"No"<<'\n';
return;
}
ll u=x/2;
ll v=x-u;
q.push(u);
q.push(v);
}
if(!q.size())
cout<<"Yes"<<'\n';
else
cout<<"No"<<'\n';
}
void meme2()
{
for(ll i=1;i<=n;i++)
d[a[i]]++;
sort(a+1,a+1+n);
sort(b+1,b+1+m);
ll ok=0;
//cout<<check(9)<<'\n';
for(ll i=1;i<=m;i++)
{
if(d[b[i]])
d[b[i]]--;
else
{
if(check(b[i]))
continue;
else
{
cout<<"No"<<'\n';
ok=1;
break;
}
}
}
if(ok==0)
{
for(ll i=1;i<=n;i++)
if(d[a[i]])
{
cout<<"No"<<'\n';
ok=1;
break;
}
if(ok==0)
cout<<"Yes"<<'\n';
}
}
void solve ()
{
d.clear();
cin>>n>>m;
ll resa=0,resb=0;
for(ll i=1;i<=n;i++){
cin>>a[i];
resa+=a[i];
}
for(ll i=1;i<=m;i++){
cin>>b[i];
resb+=b[i];
}
// if(n==m)
// meme1();
// else
// meme2();
if(resa!=resb)
cout<<"No"<<'\n';
else
meme1();
//meme1();
}
__MaCodVN__
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
if(fopen(task".INP", "r")) {
freopen(task".INP", "r", stdin);
freopen(task".OUT", "w", stdout);
}
cin>>tt;
while(tt--)
solve();
return AC;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBzdHIgc3RyaW5nCiNkZWZpbmUgcHUgcHVzaAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBpaSBwYWlyPGxvbmcgbG9uZyxsb25nIGxvbmc+CiNkZWZpbmUgX19NYUNvZFZOX18gc2lnbmVkIG1haW4oKQojZGVmaW5lIHRhc2sgIlRyb0Nob2lUcmVuQmFuZyIKCmNvbnN0IGxsIE49MmU1Kzk7CmNvbnN0IGxsIG14Tj0gMWU2Kzk7CmNvbnN0IGxsIG1vZD0xZTkrNzsKY29uc3QgaW50IEFDPTA7Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsbCBuLHR0LG0sYVtOXSxiW05dOwptYXA8bGwsbGw+IGQ7Cgpib29sIGNoZWNrIChsbCB4KQp7CiAvL2NvdXQ8PHg8PCIgIjw8ZFt4XTw8J1xuJzsgICAKIGlmKHg9PTAgfHwgKHg9PTEgJiYgZFt4XT09MCkpCiAgcmV0dXJuIGZhbHNlOyAgIAogaWYoZFt4XSkKICByZXR1cm4gdHJ1ZTsKIGVsc2UKICB7CiAgIGlmKHglMj09MCkKICAgIHsKICAgICBpZihjaGVjayh4LzIpKQogICAgICB7CiAgICAgICBkW3gvMl0tLTsKICAgICAgIGlmKGNoZWNrKHgvMikpCiAgICAgICAgewogICAgICAgICBkW3gvMl0tLTsKICAgICAgICAgZFt4XSsrOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IAogICAgICAgZFt4LzJdKys7CiAgICAgICByZXR1cm4gZmFsc2U7IAogICAgICB9ICAKICAgICByZXR1cm4gZmFsc2U7ICAKICAgIH0KICAgZWxzZQogICAgewogICAgIGlmKGNoZWNrKHgvMikpCiAgICAgIHsKICAgICAgIGRbeC8yXS0tOwogICAgICAgaWYoY2hlY2soeC8yKzEpKQogICAgICAgIHsKICAgICAgICAgZFt4LzIrMV0tLTsKICAgICAgICAgZFt4XSsrOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IAogICAgICAgZFt4LzJdKys7CiAgICAgICByZXR1cm4gZmFsc2U7IAogICAgICB9ICAKICAgICByZXR1cm4gZmFsc2U7ICAKICAgIH0KICB9ICAgIAp9Cgp2b2lkIG1lbWUxKCkKewogcHJpb3JpdHlfcXVldWU8bGw+IHE7CiBmb3IobGwgaT0xO2k8PW47aSsrKXsKICBkW2FbaV1dKys7CiAgLy9yZXNhKz1hW2ldOwogfSAKIGZvcihsbCBpPTE7aTw9bTtpKyspewogIHEucHVzaChiW2ldKTsKICAvL3Jlc2IrPWJbaV07CiB9CiBsbCBjbnQ9MDsgCiB3aGlsZShxLnNpemUoKSkKICB7CiAgIGxsIHg9cS50b3AoKTsKICAgcS5wb3AoKTsKICAgICAgIAogICBhdXRvIGl0PWQuZmluZCh4KTsKICAgaWYoaXQhPSBkLmVuZCgpICYmIGl0IC0+IHNlY29uZD4wKQogICAgewogICAgIGl0IC0+IHNlY29uZC0tOwogICAgIGlmKGl0IC0+IHNlY29uZCA9PTApCiAgICAgIGQuZXJhc2UoaXQpOwogICAgIGNvbnRpbnVlOyAgICAKICAgIH0KICAgaWYoeD09MSkKICAgIHsKICAgICBjb3V0PDwiTm8iPDwnXG4nOwogICAgIHJldHVybjsgICAKICAgIH0gCiAgIGxsIHU9eC8yOwogICBsbCB2PXgtdTsKICAgcS5wdXNoKHUpOwogICBxLnB1c2godik7IAogIH0KIGlmKCFxLnNpemUoKSkgCiAgY291dDw8IlllcyI8PCdcbic7CiBlbHNlCiAgY291dDw8Ik5vIjw8J1xuJzsgCn0KCnZvaWQgbWVtZTIoKQp7CiBmb3IobGwgaT0xO2k8PW47aSsrKQogICBkW2FbaV1dKys7IAogc29ydChhKzEsYSsxK24pOwogc29ydChiKzEsYisxK20pOyAgIAogbGwgb2s9MDsKIC8vY291dDw8Y2hlY2soOSk8PCdcbic7CgogZm9yKGxsIGk9MTtpPD1tO2krKykKICB7CiAgIGlmKGRbYltpXV0pCiAgICBkW2JbaV1dLS07CiAgIGVsc2UKICAgIHsgIAogICAgIGlmKGNoZWNrKGJbaV0pKQogICAgICAgY29udGludWU7CiAgICAgZWxzZQogICAgICB7CiAgICAgICBjb3V0PDwiTm8iPDwnXG4nOyAKICAgICAgIG9rPTE7CiAgICAgICBicmVhazsKICAgICAgfSAgICAgCiAgICB9ICAKICB9CiBpZihvaz09MCkKICB7CiAgIGZvcihsbCBpPTE7aTw9bjtpKyspCiAgICBpZihkW2FbaV1dKQogICAgIHsKICAgICAgY291dDw8Ik5vIjw8J1xuJzsKICAgICAgb2s9MTsKICAgICAgYnJlYWs7ICAKICAgICB9CiAgIGlmKG9rPT0wKQogICAgY291dDw8IlllcyI8PCdcbic7ICAgCiAgfSAgIAp9Cgp2b2lkIHNvbHZlICgpCnsKIGQuY2xlYXIoKTsgICAKIGNpbj4+bj4+bTsKIGxsIHJlc2E9MCxyZXNiPTA7ICAgCiBmb3IobGwgaT0xO2k8PW47aSsrKXsKICBjaW4+PmFbaV07CiAgcmVzYSs9YVtpXTsKIH0gCiBmb3IobGwgaT0xO2k8PW07aSsrKXsKICBjaW4+PmJbaV07IAogIHJlc2IrPWJbaV07CiB9IAovLyAgaWYobj09bSkKLy8gICBtZW1lMSgpOwovLyAgZWxzZSAKLy8gICBtZW1lMigpOyAgCiBpZihyZXNhIT1yZXNiKQogIGNvdXQ8PCJObyI8PCdcbic7CiBlbHNlIAogIG1lbWUxKCk7IAogLy9tZW1lMSgpOwp9CgpfX01hQ29kVk5fXwp7CiBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKIGNpbi50aWUoTlVMTCk7Y291dC50aWUoTlVMTCk7CiBpZihmb3Blbih0YXNrIi5JTlAiLCAiciIpKSB7CiAgZnJlb3Blbih0YXNrIi5JTlAiLCAiciIsIHN0ZGluKTsKICBmcmVvcGVuKHRhc2siLk9VVCIsICJ3Iiwgc3Rkb3V0KTsKIH0KIGNpbj4+dHQ7CiB3aGlsZSh0dC0tKQogIHNvbHZlKCk7CiByZXR1cm4gQUM7Cn0K