#include <iostream>
#include<cstdio>
#include<cstring>
#include <algorithm>
using namespace std; struct point{
int x,y;
}; struct line{
point a,b;
};
line lline[]; int cnt[];
int res[];
int cross(point p1,point p2,point p0){
return (p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x);
} bool cmp(line c,line d){
return c.b.x < d.b.x ;
} int main()
{
int n,m,x1,x2,y1,y2;
int t1,t2;
point c;
while(cin>>n&&n){
cin>>m>>x1>>y1>>x2>>y2;
lline[].a.x=x1,lline[].a.y=y1;
lline[].b.x=x1,lline[].b.y=y2;
lline[n+].a.x = x2,lline[n+].a.y=y1;
lline[n+].b.x = x2,lline[n+].b.y=y2;
for(int i=;i<=n;i++){
scanf("%d%d",&t1,&t2);
lline[i].a.x=t1;
lline[i].a.y=y1;
lline[i].b.x=t2;
lline[i].b.y=y2;
} sort(lline,lline+n+,cmp);
// for(int i=0;i<n+2;i++)
// cout<<lline[i].b.x<<" "<<lline[i].b.y<<" "<<lline[i].a.x<<" "<<lline[i].a.y<<endl;
memset(cnt,,sizeof(cnt));
for(int i=;i<m;i++){
cin>>c.x>>c.y;
for(int j=;j<n+;j++){
//cout<<j<<" "<<cross(c,lline[j].a,lline[j].b)<<endl;
if(cross(c,lline[j].a,lline[j].b)>){
continue;
}else{
cnt[j-]++;
break;
}
}
}
// for(int i=0;i<=n;i++)
// cout<<cnt[i]<<endl;
memset(res,,sizeof(res));
for(int i=;i<=n;i++){
res[cnt[i]]++;
}
cout<<"Box"<<endl;
for(int i=;i<=n;i++)if(res[i])
cout<<i<<": "<<res[i]<<endl;
}
return ;
}