package Test;
import java.util.PrimitiveIterator;
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
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 a = sc.nextInt(); //1번배열 길이 입력
int b = sc.nextInt(); //2번배열 길이 입력
int[] arr1 = new int[a];//1번배열 선언
int[] arr2 = new int[b];//2번배열 선언
for(int i = 0; i < a; i++){ //1번배열 입력
arr1[i] = sc.nextInt();
}
for(int j = 0; j < b; j++){ //2번배열 입력
arr2[j] = sc.nextInt();
}
int maxVal = 0; //최대값 입력
if(a > b) {
for(int i = 0; i < a-b+1; i++) {
int result = 0;
for(int j = 0; j < b; j++) {
result = result + (arr1[i+j] * arr2[j]);
}
if(result > maxVal) {
maxVal = result;
}
}
}
else if(a < b) {
for(int i = 0; i < b-a+1; i++) {
int result = 0;
for(int j = 0; j < a; j++) {
result = result + (arr1[j] * arr2[i+j]);
}
if(result > maxVal) {
maxVal = result;
}
}
}
else {
int result = 0;
for(int j = 0; j < a; j++) {
result = result + (arr1[j] * arr2[j]);
}
if(result > maxVal) {
maxVal = result;
}
}
System.out.println("#" + test_case + " " + maxVal);
}
}
}