#include <stdio.h>
int main(void) {
int T;
setbuf(stdout, NULL);
scanf("%d", &T);
for (int test_case = 1; test_case <= T; test_case++)
{
int n, m;
scanf("%d%d", &n,&m);
int cost[1001][2] = { { 0, }, };
for (int i = 0; i < n; i++)
scanf("%d", &cost[i][0]);
int com[1001] = { 0, };
for (int i = 0; i < m; i++)
{
int temp;
scanf("%d", &temp);
com[temp]++;
}
for (int i = 1; i <= 1000; i++)
{
for (int j = 0; j < n; j++)
{
if (cost[j][0] <= i)//개최할 수 있으면
{
cost[j][1] += com[i];
break;
}
}
}
int ptr = 0;
for (int i = 0; i < n; i++)
{
if (cost[i][1] > cost[ptr][1])
ptr = i;
}
printf("#%d %d\n", test_case, ptr+1);
}
return 0;
}