#include <bits/stdc++.h>
using namespace std;
using namespace std;
const double eps = 1e-7;
struct Point
{
double x,y;
Point (double x = 0,double y = 0):x(x),y(y) {} };
typedef Point Vector;
struct Point
{
double x,y;
Point (double x = 0,double y = 0):x(x),y(y) {} };
typedef Point Vector;
Vector operator+ (Vector A,Vector B)
{
return Vector(A.x+B.x,A.y+B.y);
}
Vector operator- (Vector A,Vector B)
{
return Vector(A.x-B.x,A.y-B.y);
}
Vector operator* (Vector A,double p)
{
return Vector(A.x*p,A.y*p);
}
Vector operator/ (Vector A,double p)
{
return Vector(A.x/p,A.y/p);
}
{
return Vector(A.x+B.x,A.y+B.y);
}
Vector operator- (Vector A,Vector B)
{
return Vector(A.x-B.x,A.y-B.y);
}
Vector operator* (Vector A,double p)
{
return Vector(A.x*p,A.y*p);
}
Vector operator/ (Vector A,double p)
{
return Vector(A.x/p,A.y/p);
}
bool operator<(const Point& a,const Point& b)
{
return a.x<b.x||(a.x==b.x&&a.y<b.y);
}
int
{
return a.x<b.x||(a.x==b.x&&a.y<b.y);
}
int