import java.io.*;



public class V3x1
{
    
public double V[];
    
public V3x1(double x, double y) // constructs a rotational matrix 
    {
	V=new double[3];
	V[0]=x;
	V[1]=y;
	V[2]=1;
    }
    
    
public V3x1(M3x3 a, V3x1 b)
    {
	V=new double[3];
	for(int i=0; i<3; i++)
	    {
		V[i]=0;
		for(int k=0; k<3; k++)
		    V[i]+=(a.M[i][k]*b.V[k]);
	    }
    }

public V3x1(V3x1 a, V3x1 b, char ch)
    {
	if(ch == '+')
	    {
		V=new double[3];
		for(int k=0; k<2; k++)
		    V[k]=(a.V[k]+b.V[k]);
		V[2]=1;
	    }
	else if(ch == '-')
	    {
		V=new double[3];
		for(int k=0; k<2; k++)
		    V[k]=(a.V[k]-b.V[k]);
		V[2]=1;
	    }
    }

public V3x1(V3x1 a, double b)
    {
	V=new double[3];
	V[0]=a.V[0]*b;
	V[1]=a.V[1]*b;
	V[2]=1;
    }

public V3x1(V3x1 a)
    {
	V=new double[3];
	V[0]=a.V[0];
	V[1]=a.V[1];
	V[2]=a.V[2];
    }

public void add(V3x1 b)
    {
	V[0]=V[0]+b.V[0];
	V[1]=V[1]+b.V[1];
	V[2]=1;
    }


public void mult(double a)
    {
	V[0]=V[0]*a;
	V[1]=V[1]*a;
	V[2]=1;
    }

    
public double x()
    {
	return V[0];
    }

public double y()
    {
	return V[1];
    }

public double z()
    {
	return V[2];
    }

public int x_int()
    {
	return ((int)V[0]);
    }

public int y_int()
    {
	return ((int)V[1]);
    }

public int z_int()
    {
	return ((int)V[2]);
    }

public void dump()
    {
	for(int i=0; i<3; i++)
	    System.out.println(V[i]);
	System.out.println();
    }
}

