import
java.io.FileInputStream;
import
java.util.Scanner;
class
그래도시간이절반은
{
public
static
void
main(String args[])
throws
Exception
{
Scanner sc =
new
Scanner(System.in);
int
T;
T=sc.nextInt();
for
(
int
test_case =
1
; test_case <= T; test_case++)
{
int
N = sc.nextInt();
int
K = sc.nextInt();
int
[] W =
new
int
[N];
int
[] S =
new
int
[K];
for
(
int
i=
0
; i<N; i++) {
W[i] = sc.nextInt();
}
for
(
int
i=
0
; i<K; i++) {
S[i] = sc.nextInt();
}
int
[][] block_sum =
new
int
[K][N];
for
(
int
i=
0
; i<K; i++) {
for
(
int
j=
0
; j<=N-S[i]; j++) {
int
max = Integer.MIN_VALUE;
for
(
int
k=j; k<j+S[i]; k++) {
if
( max < W[k] )
max = W[k];
}
block_sum[i][j] = max;
}
}
int
min_index =
0
;
int
max_wear_level = Integer.MIN_VALUE;
for
(
int
i=
0
; i<K; i++) {
int
min_block_wear_level = Integer.MAX_VALUE;
for
(
int
j=min_index; j<=N-S[i]; j++) {
if
(min_block_wear_level > block_sum[i][j]) {
min_block_wear_level = block_sum[i][j];
min_index = i+S[i];
}
}
if
(max_wear_level<min_block_wear_level)
max_wear_level = min_block_wear_level;
}
System.out.println(
"#"
+ test_case +
" "
+ max_wear_level);
}
sc.close();
}
}