import java.util.*;


public class FloopyDisk {
    public static void main(String[] args) {
        Scanner kb= new Scanner(System.in);
        int t= kb.nextInt();

        while(t>0){
            t--;
            int n=kb.nextInt();
            int m= kb.nextInt();
            long arr[]=new long[n];
            long querry[]=new long[m];

            for(int i=0; i<n; i++){
                arr[i]=kb.nextLong();
            }

            for(int i=0; i<m; i++){
                querry[i]=kb.nextLong();                
            }

            long output[]=new long[m];
            long sumarr[]=new long[n];
            sumarr[0]=arr[0];

            for(int i=1; i<n; i++){
                sumarr[i]=sumarr[i-1]+arr[i];
            }
            long toadd=sumarr[n-1];


            for(int i=0; i<m; i++){
                long x= querry[i];
                long min=Integer.MAX_VALUE;

                for(int j=0; j<n; j++){
                    if(j==0){
                        if(x<sumarr[j]){
                            min=0;
                            break;
                        }
                    }
                    long a= sumarr[j];
                    long sub= x-a;                    
                    if(toadd==0){
                        if(x!=a) continue;
                        else {
                            int ans=j;
                            min= Math.min(ans,min);
                            continue;
                        }
                    }
                    if(sub%toadd!=0)continue;
                    long mm=sub/toadd;
                    long ans= mm*n + j;
                    if(ans<0) ans=Integer.MAX_VALUE;
                    min=Math.min(ans,min);

                }
                output[i]=(min==Integer.MAX_VALUE?-1:min);
            }

            for(int i=0; i<m; i++){
                System.out.print(output[i]+" ");
            }
            System.out.println();
        }
    }
}