#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
using namespace std;
const double PI = acos(-1.0);
const double EPS = 1e-8;
int n;
struct point
{
double x,y;
} p;
struct line
{
point p1,p2;
} line1[32],temp;
double multi(point p0,point p1,point p2) //
{
return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}
bool IsIntersected(point s1,point e1,point s2,point e2)//两个线段相交
{
return (multi(s1,s2,e1)*multi(s1,e1,e2)>0)&&
(multi(s2,s1,e2)*multi(s2,e2,e1)>0);
}
int sumdoor(line l)
{
int sum=0;
for(int i=0; i<n; i++)
{
if(IsIntersected(line1[i].p1,line1[i].p2,l.p1,l.p2))
sum++;
}
return sum;
}
int main()
{
while(~scanf("%d",&n))
{
double x,y;
int sum=0x1f1f1f1f;
for(int i=0; i<n; i++)
scanf("%lf%lf%lf%lf",&line1[i].p1.x,&line1[i].p1.y,&line1[i].p2.x,&line1[i].p2.y);
scanf("%lf%lf",&p.x,&p.y);
if(n==0) {cout<<"Number of doors = "<<1<<endl;continue;}
temp.p2=p;
for(int i=0; i<n; i++)
{
temp.p1=line1[i].p1;
sum=min(sum,sumdoor(temp));
temp.p1=line1[i].p2;
sum=min(sum,sumdoor(temp));
}
printf("Number of doors = %d\n",sum+1);
}
return 0;
}