//1268
#include<stdio.h>
int abs(int a, int b)
{
if(a >= b)
return a - b;
else
return b -a;
}
int main()
{
int N, S, D1, D2, D3, T, W[25], i, flag1, flag2, flag3;
scanf("%d", &T);
while(T --)
{
i = flag1 = flag2 = flag3 = 0;
scanf("%d%d%d%d%d", &N, &S, &D1, &D2, &D3);
for(i = 0; i < N; i ++)
scanf("%d", &W[i]);
for(i = 0; i < N; i ++)
{
if(abs(W[i], S) <= D1)
flag3 ++;
else if(abs(W[i], S) > D1 && abs(W[i], S) <= D2)
flag2 ++;
else if(abs(W[i], S) > D2 && abs(W[i], S) <= D3)
flag1 ++;
}
printf("%d %d %d\n", flag3, flag2, flag1);
}
return 0;
}
#include<stdio.h>
int abs(int a, int b)
{
if(a >= b)
return a - b;
else
return b -a;
}
int main()
{
int N, S, D1, D2, D3, T, W[25], i, flag1, flag2, flag3;
scanf("%d", &T);
while(T --)
{
i = flag1 = flag2 = flag3 = 0;
scanf("%d%d%d%d%d", &N, &S, &D1, &D2, &D3);
for(i = 0; i < N; i ++)
scanf("%d", &W[i]);
for(i = 0; i < N; i ++)
{
if(abs(W[i], S) <= D1)
flag3 ++;
else if(abs(W[i], S) > D1 && abs(W[i], S) <= D2)
flag2 ++;
else if(abs(W[i], S) > D2 && abs(W[i], S) <= D3)
flag1 ++;
}
printf("%d %d %d\n", flag3, flag2, flag1);
}
return 0;
}