import java.io.*;
import java.util.*;



    public class codeforces
    {
        public static void main(String[] args)throws IOException
        {
            BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
            String[] in=bf.readLine().trim().split(" ");
            int n=Integer.parseInt(in[0]);
            int m=Integer.parseInt(in[1]);
            in=bf.readLine().trim().split(" ");
            int[] arr=new int[31];
            int i=0,j=0,k=0;
            for(i=0;i<n;i++)
            {
              int a=Integer.parseInt(in[i]);
              String s=Integer.toBinaryString(a);
              j=s.length()-1;k=30;
              while(j>=0 && k>=0)
              {
                if(s.charAt(j)=='1')
                  arr[k]++;
                  j--;k--;
              }

            }
           
            i=0;
            int[] brr=new int[n];
            while(i<m)
            {int a=Integer.parseInt(bf.readLine().trim());
              
             String s=Integer.toBinaryString(a);
               brr=arr.clone();
               int res=0,count=0;
               for(j=0;j<s.length();j++)
               {
                 if(s.charAt(j)=='1')
                 {   count=1;
                  for(k=31-s.length()+j;k<31;k++)
                  {
                   if(brr[k]>=count)
                   {
                     brr[k]-=count;
                     res+=count;
                     count=0;break;
                   }
                   else{
                     count-=brr[k];
                     res+=brr[k];
                     brr[k]=0;
                   }
                     count=count*2;
                  }
                  if(count!=0)
                  {
                    res=-1;break;
                  }
                  

                 }
               }
               System.out.println(res);
              i++;
            }

        }

      
    }
