#include <stdio.h>
#include <string.h>
struct point
{
double x,y;
}z[100];
double cs[100][100];
int main()
{
int n;
scanf("%d",&n);
memset(cs,0,sizeof(cs));
int i,j,k;
for(i=1;i<=n;i++)
scanf("%lf %lf",&z[i].x,&z[i].y);
int m;
double a;
scanf("%d",&m);
while(m--)
{
scanf("%lf",&a);
for(i=1;i<=n;i++)
{
cs[i][1]=z[i].y;
for(j=2;j<=i;j++)
{
cs[i][j]=(cs[i][j-1]-cs[i-1][j-1])*1.0/(z[i].x-z[i-j+1].x);
}
}
/*for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%lf ",cs[i][j]);
}
printf("\n");
}*/
double sum=0;
double tmp=1;
for(i=1;i<=n;i++)
{
tmp=cs[i][i];
for(j=2;j<=i;j++)
tmp*=a-z[j-1].x;
sum+=tmp;
}
printf("%lf\n",sum);
}
return 0;
}
/*
4
-2 17
0 1
1 2
2 19
*/