import java.util.Scanner;
public class Vector
{
  private  double x =0.0;
  private  double y=0.0;
  private static Scanner teclado = new Scanner(System.in);
  
  public static void main (String args[])
  {
    System.out.println("Operaciones con vectores en el plano");
    Vector vector1 = null;
    Vector vector2 = new Vector();
    for (long contador = 1; ; ++contador)
    {
      System.out.println("\nVector " + contador);
      if ( ! vector2.leer() )
        return;
      System.out.println("V"+ contador+  vector2);
      
      if ( vector1 != null )
      {
        Vector suma = vector1.sumar(vector2);
        Vector restar = vector1.restar(vector2);
        Vector restar1 = vector1.restar1(vector2);
        System.out.println("V "+ (contador-1) + "+ V " + (contador) +suma);
        System.out.println("V " + (contador-1)+ "-V" +(contador)+ restar);
        System.out.println("V"+ (contador)+ "-V" + (contador-1)+ restar1);
        
      }
      vector1 = vector2;
      vector2 = new Vector();
    }
    
    
    
    
  }
  public boolean leer()
  {
    
    System.out.print("x: ");
    x = teclado.nextDouble();
    
    
    System.out.print("y: ");
    y = teclado.nextDouble();
    if(x==0 && y==0)
      return false;
    else return true;
  }
  public String toString()
  {
    return   ":(x,y)=("+x +","+y+"); (r,p)=("+ magnitud()+ ","+  rad() +")";
  }
  
  
  public   double magnitud()
  {
    return Math.sqrt( (x*x)+(y*y));  
  }
  
  public double rad()
  {
    return Math.atan2(y,x); 
  }
  
  public Vector sumar(Vector otro)
  {
    Vector resultado=new Vector();
    resultado.x=(this.x+otro.x);
    
    resultado.y=(this.y+otro.y);
    
    
    return resultado;
    
  }
  
  public Vector restar(Vector otro)
  {
    Vector resultado=new Vector();
    resultado.x=(this.x-otro.x);
    
    resultado.y=(this.y-otro.y);
    
    
    return resultado;
    
  }
  
  public Vector restar1(Vector otro)
  {
    Vector resultado=new Vector();
    resultado.x=(otro.x-x);
    
    resultado.y=(otro.y-y);
    
    
    return resultado;
    
  }
}