//	IV окружной этап Всероссийской олимпиады школьников по информатике
//	24 - 28 марта 2006 г.
//	г. Петрозаводск
//
//	Задача C. Гадание по-карельски
//	Авторы: А. Николаевский
//	Решение: И. Архипов

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

public class karelia_ia {
	public static final String IFILE = "karelia.in";
	public static final String OFILE = "karelia.out";
	public static final int MAXN = 32; //32
	
	Scanner in;
	PrintWriter out;
	int n, m;
	int []x,y;
	int [][][]f;
	int []ans;
	
	boolean Less(int x1, int y1, int x2, int y2)
	{
		return ((y1 < y2) || ((y1 == y2) && (x1 < x2)));
	}
	
	void sort()
	{
		int t;
		for(int i=1;i<=n;i++)
			for(int j=i+1;j<=n;j++)
				if(Less(x[j],y[j],x[i],y[i]))
				{
					t = x[i]; x[i] = x[j]; x[j] = t;
					t = y[i]; y[i] = y[j]; y[j] = t;
				}
	}
	
	void memset(int [][][]f, int v)
	{
		for(int i=0;i<MAXN;i++)
			for(int j=0;j<MAXN;j++)
				Arrays.fill(f[i][j], v);
	}
	
	int vect(int x1, int y1, int x2, int y2)
	{
		return x1*y2 - x2*y1; 
	}
	
	public void run() throws IOException
	{
		x = new int[MAXN];y = new int[MAXN];
		f = new int[MAXN][MAXN][MAXN];
		ans = new int[MAXN];
		in = new Scanner(new File(IFILE));
		out = new PrintWriter(new File(OFILE));
		
		while(in.hasNextInt())
		{
		n = in.nextInt();m = in.nextInt();
		for(int i=1;i<=n;i++)
		{
			x[i] = in.nextInt(); y[i] = in.nextInt();	
		}
		sort();
		
		
		Arrays.fill(ans,0);
		ans[1] = n;
		ans[2] = n*(n-1)/2;
		int i0 = 1;
		while(i0<=n)
		{
			memset(f, 0);
			//base
			for(int i=1;i<=n;i++)
			{
				if(i!=i0 && y[i]>=y[i0])f[1][i0][i] = 1;
			}
			
			for(int l=1;l<=n;l++)
			{
				for(int i=1;i<=n;i++)
					for(int j=1;j<=n;j++)
						if(i!=j && j!=i0 && f[l][i][j] > 0)
						{
							for(int k=1;k<=n;k++)
							if(k!=i && k!=j)	
							{	
								int v1 = vect(x[k]-x[j],  y[k]-y[j],  x[i]-x[j],  y[i]-y[j]);
								int v2 = vect(x[j]-x[i0], y[j]-y[i0], x[k]-x[i0], y[k]-y[i0]);
								if(v1 >= 0 && v2 >= 0 && y[k] >= y[i0])
									f[l+1][j][k] += f[l][i][j];
							}
						}
			}
			
			for(int l=3;l<=n;l++)
				for(int i=1;i<=n;i++)
					if(y[i] != y[i0])
						ans[l] += f[l][i][i0];
			
			i0++;
		}
		
		
		long cur = 0;//
		for(int i=1;i<=m;i++)
		{
			int l = in.nextInt();
			out.println(ans[l]);
			cur += ans[l];
		}
		//out.println();
		//out.println(cur);
		
		//out.println();
		}
		
		out.close();
	}
	
	public static void main(String[] args)  throws IOException {
		Locale.setDefault(Locale.US);
		new karelia_ia().run();

	}

}
