typedef struct{
	float i,j,k;
	}Vector;

Vector a = {3, 4, 5},b = {4, 3, 5},c = {-5, -12, -13};

float dotProduct(Vector a, Vector b)
{
	return a.i*b.i+a.j*b.j+a.k*b.k;
}

Vector crossProduct(Vector a,Vector b)
{
	Vector c = {a.j*b.k - a.k*b.j, a.k*b.i - a.i*b.k, a.i*b.j - a.j*b.i};

	return c;
}

float scalarTripleProduct(Vector a,Vector b,Vector c)
{
	return dotProduct(a,crossProduct(b,c));
}

Vector vectorTripleProduct(Vector a,Vector b,Vector c)
{
	return crossProduct(a,crossProduct(b,c));
}

void printVector(Vector a)
{
	printf(,a.i,a.j,a.k);
}

int main()
{
	printf(); printVector(a);
	printf(); printVector(b);
	printf(); printVector(c);
	printf(,dotProduct(a,b));
	printf(); printVector(crossProduct(a,b));
	printf(,scalarTripleProduct(a,b,c));
	printf(); printVector(vectorTripleProduct(a,b,c));

	return 0;
}