#include<stdio.h>
#include<algorithm>
#define max(a,b) (a>=b?a:b)
using namespace std;
int main()
{
int t;
int R,G,B,M,i;
int r,g,b,rmax,gmax,bmax;
scanf("%d",&t);
while(t-->0)
{
rmax=gmax=bmax=0;
scanf("%d%d%d%d",&R,&G,&B,&M);
for(i=0;i<R;++i)
{
scanf("%d",&r);
if(r>rmax)
rmax=r;
}
for(i=0;i<G;++i)
{
scanf("%d",&r);
if(r>gmax)
gmax=r;
}
for(i=0;i<B;++i)
{
scanf("%d",&r);
if(r>bmax)
bmax=r;
}
R=rmax;
G=gmax;
B=bmax;
for(i=0;i<M;++i)
{
if(R>=G&&R>=B)
R/=2;
else if(G>=R&&G>=B)
G/=2;
else if(B>=G&&B>=R)
B/=2;
}
printf("%d\n",max(max(R,B),G));
}
}
ICAgICNpbmNsdWRlPHN0ZGlvLmg+CiAgICAjaW5jbHVkZTxhbGdvcml0aG0+CiAgICAjZGVmaW5lIG1heChhLGIpIChhPj1iP2E6YikKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICBpbnQgbWFpbigpCiAgICAJewogICAgCQlpbnQgdDsKICAgIAkJaW50IFIsRyxCLE0saTsKICAgIAkJaW50IHIsZyxiLHJtYXgsZ21heCxibWF4OwogICAgCQlzY2FuZigiJWQiLCZ0KTsKICAgIAkJd2hpbGUodC0tPjApCiAgICAJCQl7CiAgICAJCQkJcm1heD1nbWF4PWJtYXg9MDsKICAgIAkJCQlzY2FuZigiJWQlZCVkJWQiLCZSLCZHLCZCLCZNKTsKICAgIAkJCQlmb3IoaT0wO2k8UjsrK2kpCiAgICAJCQkJCXsKICAgIAkJCQkJCXNjYW5mKCIlZCIsJnIpOwogICAgCQkJCQkJaWYocj5ybWF4KQogICAgCQkJCQkJCXJtYXg9cjsJCQkJCiAgICAJCQkJCX0JCiAgICAJCQkJZm9yKGk9MDtpPEc7KytpKQogICAgCQkJCQl7CiAgICAJCQkJCQlzY2FuZigiJWQiLCZyKTsKICAgIAkJCQkJCWlmKHI+Z21heCkKICAgIAkJCQkJCQlnbWF4PXI7CQkJCQogICAgCQkJCQl9CiAgICAJCQkJZm9yKGk9MDtpPEI7KytpKQogICAgCQkJCQl7CiAgICAJCQkJCQlzY2FuZigiJWQiLCZyKTsKICAgIAkJCQkJCWlmKHI+Ym1heCkKICAgIAkJCQkJCQlibWF4PXI7CQkJCQogICAgCQkJCQl9CiAgICAJCQkJUj1ybWF4OwogICAgCQkJCUc9Z21heDsKICAgIAkJCQlCPWJtYXg7CiAgICAJCQkJZm9yKGk9MDtpPE07KytpKQogICAgCQkJCQl7CiAgICAJCQkJCQlpZihSPj1HJiZSPj1CKQogICAgCQkJCQkJCVIvPTI7CiAgICAJCQkJCQllbHNlIGlmKEc+PVImJkc+PUIpCiAgICAJCQkJCQkJRy89MjsKICAgIAkJCQkJCWVsc2UgaWYoQj49RyYmQj49UikKICAgIAkJCQkJCQlCLz0yOwogICAgCQkJCQl9CiAgICAJCQkJcHJpbnRmKCIlZFxuIixtYXgobWF4KFIsQiksRykpOwogICAgCQkJfQogICAgCX0g