import java.util.Scanner;
public class Vector
{
  double magnitud=1;
  double direccion=1;
  int i=1;
  int v=1;
  static Scanner teclado = new Scanner(System.in);
  
  public static void main(String args[])
  {
    Vector vectorAnterior=new Vector();
    while(true)
    {
      Vector vector=new Vector();
      System.out.println("Ingrese una magnitud y una direccion");
      vector.magnitud=leaVector();
      vector.direccion=leaVector();

      if(vector.magnitud==0&&vector.direccion==0)
      {
        return
      }
      if(i==1)
      {
      System.out.println("V"+i+":(x,y)="+vector+";(r,o)="+vector.imprimir());
      vectorAnterior=vector;
      }
      else
      {
        Vector resultado1=vector.calcularSuma(vectorAnterior);
        Vector resultado2=vector.calcularResta(vectorAnterior);
        Vector resultado3=vector.calcularResta1(vectorAnterior);
  
        System.out.println("V"+i+":(x,y)="+vector+";(r,o)="+vector.imprimir());
        System.out.println("V"+(i-1)+"+V"+i+":(x,y)="+resultado1+";(r,o)="+resultado1.imprimir());
        System.out.println("V"+(i-1)+"-V"+i+":(x,y)="+resultado2+";(r,o)="+resultado2.imprimir());
        System.out.println("V"+(i-1)+"V"+i+":(x,y)="+resultado1+";(r,o)="+resultado1.imprimir());
        
       vectorAnterior=vector;
        }
      i=i+1;
      v=v+1;
    }
  }
   
  public double leaVector()
  {
    return teclado.nextDouble();
  }
     public String toString()
  {
    return String.format("(%f,%f)",magnitud,direccion);
  }
     
   public String imprimir()
  {
    double r=Math.sqr((magnitud*magnitud)+(direccion*direccion));
    double o=Math.atan2(direccion,magnitud);
     return String.format("(%f,%f)",r,o);
  }    
  public Vector calcularSuma(Vector otracosa)
  {
    Vector suma=new Vector();
    suma.magnitud=magnitud+otracosa.magnitud;
    suma.direccion=magnitud+otracosa.direccion;
    return suma;
  }
    public Vector calcularResta(Vector otracosa)
  {
    Vector resta=new Vector();
    resta.magnitud=otracosa.magnitud-magnitud;
    resta.direccion=otracosa.direccion-direccion;
    return resta;
  }
      public Vector calcularResta1(Vector otracosa)
  {
    Vector resta1=new Vector();
    resta1.magnitud=magnitud-otracosa.magnitud;
    resta1.direccion=direccion-otracosa.direccion;
    return resta1;
  } 
}
    
  

    
        
        
        
      
      
        
      
      
      
    
    
    
    
    