/*
TASK:area
LANG:C++
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <math.h>
#define PB push_back
#define MP make_pair
#define X first
#define Y second

using namespace std;

struct point{double x,y;};
typedef point vec;

double cp(point p0,point p1,point p2)
{
	double dx1=p1.x-p0.x;
	double dy1=p1.y-p0.y;
	double dx2=p2.x-p0.x;
	double dy2=p2.y-p0.y;
	return dx1*dy2-dx2*dy1;
}

double cp(vec p1,vec p2)
{ return p1.x*p2.y-p2.x*p1.y; }

point presto4(point p1,point p2, point p3,point p4, int &yey)
{
    point p;
    vec v13,v34,v12,v21;
    v13.x=p3.x-p1.x; v13.y=p3.y-p1.y;
    v34.x=p4.x-p3.x; v34.y=p4.y-p3.y;
    v12.x=p2.x-p1.x; v12.y=p2.y-p1.y;
    v21.x=p1.x-p2.x; v21.y=p1.y-p2.y;
    double t,u;
    t=(double)cp(v13,v34)/cp(v12,v34);
    u=(double)cp(v21,v13)/cp(v12,v34);
    p.x=p1.x+t*(p2.x-p1.x);
    p.y=p1.y+t*(p2.y-p1.y);
    yey=0;
    if ((t>=0)&&(t<=1)) yey|=1;
    if ((u>=0)&&(u<=1)) yey|=2;
    return p;
}

vector<point> p;

int area()
{
	double s=0;
	for (int i=0; i<p.size()-1; i++)
	 s+=(p[i].x+p[i+1].x)*(p[i].y-p[i+1].y);
	if (s<0) s*=-1;
	s/=2;
	int k=round(s);
	s=(double)k-s;
	if (s>0.00001) k--;
	return k;
}

int main()
{
	int i,j,k,l,n,i1,i2;
	point p1,p2,t,p3,p4,pp;

//	ifstream f("area.in");
	cin>>p1.x>>p1.y>>p2.x>>p2.y;
	cin>>t.x>>t.y;
	cin>>n;
	p.PB(p1); double ii=p1.x; p1.x=p2.x; p.PB(p1);
	p.PB(p2); p2.x=ii; p.PB(p2);
	p.PB(p[0]);
	for (i=0; i<n; i++)
	{
		cin>>p1.x>>p1.y>>p2.x>>p2.y;
		i1=-1; i2=-1;
		for (j=0; j<p.size()-1; j++)
		 {
				pp=presto4(p[j],p[j+1],p1,p2,l);
				if ((l&1)==1) if (i1==-1) { i1=j; p3=pp; } else { i2=j; p4=pp; }
		 }
		if (i2>-1)
		 {
				if ((cp(p3,t,p4)<0)==(cp(p3,p[i1],p4)<0))
				 {
   				    p.erase(p.begin()+i1+1,p.begin()+i2+1);
				    p.insert(p.begin()+i1+1,p3);
				    p.insert(p.begin()+i1+2,p4);
				 }
				else
				 {
					p.erase(p.begin()+i2+1,p.end());
					p.erase(p.begin(),p.begin()+i1+1);
					p.PB(p4); p.PB(p3); p.PB(p[0]);
				 }
		 }
/*		cout<<i1<<" "<<i2<<endl;
		for (j=0; j<p.size(); j++)
		 cout<<"("<<p[j].x<<","<<p[j].y<<") ";
		cout<<endl;*/
	}
//	f.close();

	cout<<area()<<"\n";

	//system("pause");
	return 0;
}
