

import java.util.Scanner;

public class odflopdri {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int a =sc.nextInt();
		
		
		for(int k=0;k<a;k++) {
			int c= sc.nextInt();
			int d=sc.nextInt();
			int b[]= new int[c];
			int e[]= new int[d];
			for(int i=0;i<c;i++) {
				b[i]=sc.nextInt();
			}for(int y=0;y<c;y++) {
				e[y]=sc.nextInt();
			}
         int f[]= new int[c];
         int max=0;
         
         for(int i=0;i<c;i++) {
        	 max+=b[i];
        	 f[i]=max;
        	 
         }
         int flag=0
;         int ans[]=new int[d];
         for(int y=0;y<d;y++) {
        	 int h=0;
        	  ans[y]=Integer.MAX_VALUE;
        	for(int u=0;u<c;u++) {
        		if(f[c-1] !=0) {
        		if((e[y]-f[u])%f[c-1] ==0) {
        			 h=(e[y]-f[u])/f[c-1];
        			 if((h*(c))+u>=0) {
        			ans[y]=Math.min((h*(c))+u,ans[y]);
        			
        			flag=1;
        			
        			
        		}}
        		else{if(e[y] == f[u]) {
        			ans[y]=Math.min(f[u], ans[y]);
        			flag=1;
        		}
        			}
        		}}
        		if(flag ==0) {
        			ans[y]= -1;
        		}
        		
        	
         }
         for(int y=0;y<d;y++) {
        	 System.out.print(ans[y]+" ");
         }
         System.out.println();
         
         
	}}

}
