#include<stdio.h>
void mergesort(long long *ar,long long ,long long);
void merge(long long*ar,long long,long long,long long);
void mergesort(long long *ar,long long left,long long right)
{
long long mid=((left+right)/2);
if(left<right)
{
mergesort(ar,left,mid);
mergesort(ar,mid+1,right);
merge(ar,left,mid,right);
}
}
void merge(long long*ar,long long left,long long mid,long long right)
{
long long t[right-left+1];
long long pos=0;long long i;
long long lpos=left,rpos=mid+1;
while(lpos<=mid && rpos<=right)
{
if(ar[lpos]<ar[rpos])
{
t[pos++]=ar[lpos++];
}
else
{
t[pos++]=ar[rpos++];
}
}
while(lpos<=mid)
t[pos++]=ar[lpos++];
while(rpos<=right)
t[pos++]=ar[rpos++];
for(i=0;i<pos;i++)
ar[left+i]=t[i];
return ;
}
long long at[50005005];
int main()
{
long long t,n,k1,k2,k3,i,temp,b,j;
long long ar[10005],s[10005];
while(t--)
{
b=0;
scanf("%lld%lld%lld%lld",&n
,&k1
,&k2
,&k3
); for(i=1;i<=n;i++)
s[1]=ar[1];
at[b++]=s[1];
for(i=2;i<=n;i++)
{
temp=s[i-1]+ar[i];
if(temp>=ar[i])
{
s[i]=temp;
at[b++]=s[i];
}
else
{
s[i]=ar[i];
at[b++]=s[i];
}
for(j=1;j<i;j++)
at[b++]=s[i]-s[j];
}
mergesort(at,0,b-1);
printf("%lld %lld %lld\n",at
[b
-k1
],at
[b
-k2
],at
[b
-k3
]); }
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCBtZXJnZXNvcnQobG9uZyBsb25nICphcixsb25nIGxvbmcgLGxvbmcgbG9uZyk7CnZvaWQgbWVyZ2UobG9uZyBsb25nKmFyLGxvbmcgbG9uZyxsb25nIGxvbmcsbG9uZyBsb25nKTsKCnZvaWQgbWVyZ2Vzb3J0KGxvbmcgbG9uZyAqYXIsbG9uZyBsb25nIGxlZnQsbG9uZyBsb25nIHJpZ2h0KQp7Cglsb25nIGxvbmcgbWlkPSgobGVmdCtyaWdodCkvMik7CglpZihsZWZ0PHJpZ2h0KQoJewoJCW1lcmdlc29ydChhcixsZWZ0LG1pZCk7CgkJbWVyZ2Vzb3J0KGFyLG1pZCsxLHJpZ2h0KTsKCQltZXJnZShhcixsZWZ0LG1pZCxyaWdodCk7Cgl9Cn0Kdm9pZCBtZXJnZShsb25nIGxvbmcqYXIsbG9uZyBsb25nIGxlZnQsbG9uZyBsb25nIG1pZCxsb25nIGxvbmcgcmlnaHQpCnsKCWxvbmcgbG9uZyB0W3JpZ2h0LWxlZnQrMV07Cglsb25nIGxvbmcgcG9zPTA7bG9uZyBsb25nIGk7Cglsb25nIGxvbmcgbHBvcz1sZWZ0LHJwb3M9bWlkKzE7Cgl3aGlsZShscG9zPD1taWQgJiYgcnBvczw9cmlnaHQpCgl7CgkJaWYoYXJbbHBvc108YXJbcnBvc10pCgkJewoJCQl0W3BvcysrXT1hcltscG9zKytdOwoJCX0KCQllbHNlCgkJewoJCQl0W3BvcysrXT1hcltycG9zKytdOwoJCX0KCX0KCQl3aGlsZShscG9zPD1taWQpCgkJdFtwb3MrK109YXJbbHBvcysrXTsKCQl3aGlsZShycG9zPD1yaWdodCkKCQl0W3BvcysrXT1hcltycG9zKytdOwoJCWZvcihpPTA7aTxwb3M7aSsrKQoJCWFyW2xlZnQraV09dFtpXTsKCQlyZXR1cm4gOwoJfQpsb25nIGxvbmcgYXRbNTAwMDUwMDVdOwppbnQgbWFpbigpCnsKCWxvbmcgbG9uZyB0LG4sazEsazIsazMsaSx0ZW1wLGIsajsKCWxvbmcgbG9uZyBhclsxMDAwNV0sc1sxMDAwNV07CglzY2FuZigiJWxsZCIsJnQpOwoJd2hpbGUodC0tKQoJewoJCWI9MDsKCQlzY2FuZigiJWxsZCVsbGQlbGxkJWxsZCIsJm4sJmsxLCZrMiwmazMpOwoJCWZvcihpPTE7aTw9bjtpKyspCgkJc2NhbmYoIiVsbGQiLCZhcltpXSk7CgkJc1sxXT1hclsxXTsKCQlhdFtiKytdPXNbMV07CgkJZm9yKGk9MjtpPD1uO2krKykKCQl7CgkJCXRlbXA9c1tpLTFdK2FyW2ldOwoJCQlpZih0ZW1wPj1hcltpXSkKCQkJewoJCQlzW2ldPXRlbXA7CgkJCWF0W2IrK109c1tpXTsKCQl9CgkJCWVsc2UKCQkJewoJCQlzW2ldPWFyW2ldOwoJCQlhdFtiKytdPXNbaV07CgkJfQoJCQlmb3Ioaj0xO2o8aTtqKyspCgkJCWF0W2IrK109c1tpXS1zW2pdOwoJCX0KCQltZXJnZXNvcnQoYXQsMCxiLTEpOwoJCXByaW50ZigiJWxsZCAlbGxkICVsbGRcbiIsYXRbYi1rMV0sYXRbYi1rMl0sYXRbYi1rM10pOwoJfQoJcmV0dXJuIDA7Cn0=