import java.util.Scanner;
public class sumayRestadeVectores
{
   public static void main(String args[])
  {
    Vector vResultado=new Vector();
    Vector vIngresado=null;
   
     System.out.print("Operaciones con vectores en el plano\n");
      for (long contador = 1; ; ++contador)
      {
         System.out.println("\nVector " + contador);
         if ( ! vResultado.leer() )
            return;
         System.out.println(vResultado);

         if ( vIngresado != null )
         {
           System.out.println("\nV" + (contador)+"+ v"+(1+contador)+": (x,y)");
            vResultado = vResultado.sumar(vIngresado);
            System.out.println(vResultado);
            
            System.out.println("\nV" + contador+"- v"+(contador+1)+": (x,y)");
            vResultado = vResultado.restar(vIngresado);
            System.out.println(vResultado);
            
            System.out.println("\nV" + (contador+1)+"- v"+(contador)+": (x,y)");
            vResultado = vIngresado.restar(vResultado);
            System.out.println(vResultado);    
         }
         vIngresado = vResultado;
         vResultado = new Vector();
      }//for
  }//main
}
class Vector
{
  double x=0;
  double y=0;
  private static Scanner teclado = new Scanner(System.in);
  public Vector(double n, double d)
  {
    x=n;
    y=d;
  }
  public Vector()
  {
  }
  public boolean  leer()
  {
    x = teclado.nextDouble();
    System.out.print(",");
    y = teclado.nextDouble();
    if ( y!=0 && x!=0)
      return true;
    else return false;
  }
  public double calcularNorma(double a,double b)
  {
    double r=0;//Norma
    r=Math.sqrt((a*a)+(b*b));
    return r;
  }
  public double calcularDireccion(double a,double b)
  {
    double direccion=0;
    direccion=Math.atan2(b,a);
    return direccion;
  }
  public String toString()
   {
      return "(x,y)= ("+x+","+y+"); (r,a)=("+calcularNorma(x,y)+","+calcularDireccion(x,y)+")";
   }
  public Vector sumar(Vector otro)
  {
    return new Vector(x +otro.x, y+otro.y);
  }
  public Vector restar(Vector otro)
  {
    return new Vector(x -otro.x ,y-otro.y );
  }
}