from math import *

class Vetor:
    "Vetor bidimensional"
    
    def __init__(self,x=0,y=0):
        self.x,self.y=x,y       

    def __neg__(self):
        return Vetor(-self.x,-self.y)        

    def __pos__(self):
        return Vetor(self.x,self.y)

    def __add__(self,vec):
        return Vetor(self.x+vec.x,self.y+vec.y)

    def __sub__(self,vec):
        return Vetor(self.x-vec.x,self.y-vec.y)

    def __mul__(self,c):
        return Vetor(c*self.x,c*self.y)

    def __rmul__(self,c):
        return Vetor(self.x*c,self.y*c)

    def __div__(self,c):
        return Vetor(self.x/c,self.y/c)

    def __truediv__(self,c):
        return Vetor(self.x/c,self.y/c)

    def mod(self):
        return sqrt(self.x**2+self.y**2)

    def incl(self):
        return atan2(self.y,self.x)

    def esc(self,vec):
        return self.x*vec.x+self.y*vec.y

    def vet(self,vec):
        return self.x*vec.y-self.y*vec.x

def esc(a,b):
    return a.esc(b)

def vet(a,b):
    return a.vet(b)

class Ponto:
    "Ponto no plano"

    def __init__(self,x=0,y=0):
        self.x,self.y=x,y
