import java.util.*;

public class Solve{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        StringBuilder sb =new StringBuilder();
        while(t-->0){
            int n=sc.nextInt();
            int m=sc.nextInt();
            int[] ar=new int[n];
           
            int[] presum=new int[n];
            
            for(int i=0;i<n;i++){
                ar[i]=sc.nextInt();
            }
            
            presum[0]=ar[0];
            int x=ar[0];
            int[] sum=new int[n];
            ArrayList<Integer> al=new ArrayList<>();
            for(int i=1;i<n;i++){
                 x+=ar[i];
                presum[i]=Math.max(x,presum[i-1]);
            }
            int s=0;
            for(int i=0;i<n;i++){
                 s+=ar[i];
                sum[i]=s;
            }
            /* for(int i=0;i<n;i++){
                System.out.print(presum[i]+" ");
            }*/
           
            
               
                for(int i=0;i<m;i++){
                    int mx=sc.nextInt();
                    if(mx<=presum[n-1]){
                        sb.append(lower(presum,mx)+" ");
                    }
                     else if(sum[n-1]>0  ){
                        int extra=(int)Math.ceil(mx/sum[n-1]);
                        int mul=extra;
                        if(mx%sum[n-1]==0){ mul--;  extra--;}
                       
                        extra=extra*n;
                        extra--;
                        int left=mx-mul*sum[n-1];
                     
                       int val=lower(presum,left);
                       extra+=val;
                       extra++;
                       sb.append(extra+" ");
                     
                    }
                    else{
                        sb.append("-1 ");
                    }
                }
                
                sb.append("\n");
    
            
        }
        System.out.println(sb);
    }
    
    static int lower(int[] ar,int x){
        int l=-1;
        int r=ar.length;
        while(l+1<r){
            int m=(l+r)>>>1;
            if(ar[m]>=x) r=m;
            else l=m;
        }
        return r;
    }
}