import java.util.ArrayList;

import java.util.*;
import java.util.Scanner;

public class coins {
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int n = sc.nextInt();
		int q = sc.nextInt();

		ArrayList<Integer>al1=new ArrayList<>();
		ArrayList<Integer>result=new ArrayList<>();

		Map<Integer,Integer> map = new TreeMap<>();

		for (int i = 0; i <n ; i++) {
			int x = sc.nextInt();

			if (map.containsKey(x)) {
				map.put(x, map.get(x) + 1);
			}
			else
				map.put(x, 1);
		}

		for(Map.Entry<Integer,Integer>e:map.entrySet())
		{
				al1.add(0,e.getKey());
		}



		int count=0;
		for (int i = 0; i <q ; i++) {
			count=0;
			int x=sc.nextInt();
			if(x%2==1)
			{
				result.add(-1);
			}
			else
			{
				for (int j = 0; j <al1.size() ; j++) {
					if(x>=al1.get(j))
					{
						count++;
						x=x%al1.get(j);
					}
					if(x==0)
						break;
				}
				result.add(count);

			}

		}
		//System.out.println(al1);
		for (int i = 0; i <q ; i++) {
			System.out.println(result.get(i));
		}

		sc.close();
	}
}
