import java.io.*;

//-------------------------------------------------------------------
// Program P2 Q3
// 
// This program defines a class called Triangle, prompts the user for
// the length of the sides of the triangle, and prints out the property
// of the triangle.
//
// Author : Wei Tsang Ooi
// Date   : 11 July 1999
//-------------------------------------------------------------------

//-------------------------------------------------------------------
// class Triangle
// 
// This class contains three fields, side1, side2, and side3, that
// represent the length of the sides of a triangle.  It also contains
// a set of methods the test the properties of this triangle.
//-------------------------------------------------------------------

class Triangle 
{
	private double side1, side2, side3; // the length of the sides of 
	                                    // the triangle.

	//---------------------------------------------------------------
	// constructor
	// 
	// input : the length of the three sides of the triangle.
	//---------------------------------------------------------------

	public Triangle(double side1, double side2, double side3)
	{
		this.side1 = side1;
		this.side2 = side2;
		this.side3 = side3;
	}


	//---------------------------------------------------------------
	// isRight
	// 
	// returns : true if and only if this triangle is a right triangle.
	//---------------------------------------------------------------

	boolean isRight()
	{
		double square1 = side1*side1;
		double square2 = side2*side2;
		double square3 = side3*side3;

		if ((square1 == square2 + square3) ||
			(square2 == square1 + square3) ||
			(square3 == square1 + square2))
			return true;
		else 
			return false;
	}


	//---------------------------------------------------------------
	// isValid
	// 
	// returns : true if and only if this triangle is a valid triangle.
	//---------------------------------------------------------------

	boolean isValid()
	{
		if ((side1 + side2 < side3) ||
			(side1 + side3 < side2) ||
			(side2 + side3 < side1))
			return false;
		else 
			return true;
	}


	//---------------------------------------------------------------
	// isEquilateral
	// 
	// returns : true if and only if all three sides of this triangle
	// are of the same length.
	//---------------------------------------------------------------

	boolean isEquilateral()
	{
		if (side1 == side2 && side2 == side3)
			return true;
		else 
			return false;
	}


	//---------------------------------------------------------------
	// isIsosceles
	// 
	// returns : true if and only if exactly two sides of this triangle
	// has the same length.
	//---------------------------------------------------------------

	boolean isIsosceles()
	{
		if ((side1 == side2 && side2 != side3) ||
			(side1 == side3 && side2 != side3) ||
			(side2 == side3 && side1 != side3))
			return true;
		else
			return false;
	}

	//---------------------------------------------------------------
	// isIsosceles
	// 
	// returns : true if and only if exactly no two sides of this 
	// triangle has the same length.
	//---------------------------------------------------------------

	boolean isScalene()
	{
		if (side1 == side2 || side2 == side3 || side1 == side3)
			return false;
		else
			return true;
	}
}


//-------------------------------------------------------------------
// class TriangleProperty
// 
// This class is the main class of this application.  It prompts
// the user for input to construct a triangle, then prints out
// the special properties of the triangle.
//-------------------------------------------------------------------

public class TriangleProperty 
{
	//---------------------------------------------------------------
	// getInput
	// 
	// input : stdin - BufferedReader to read input from
	//         msg - message to prompt the user with
	// returns : a double value input by user, guranteed to be 
	//           greater than zero.
	//---------------------------------------------------------------

	private static double getInput(BufferedReader stdin, String msg) 
		throws IOException
	{
		System.out.print(msg);
		double input = Double.valueOf(stdin.readLine()).doubleValue();
		while (input <= 0) {
			System.out.println("ERROR : length of the side of triangle must " +
				"be a positive number.");
			System.out.print(msg);
			input = Double.valueOf(stdin.readLine()).doubleValue();
		}
		return input;
	}


	//---------------------------------------------------------------
	// printProperties
	// 
	// input : triangle - a Triangle object
	// print out the properties of this triangle.
	//---------------------------------------------------------------

	private static void printProperties(Triangle triangle)
	{
		// We first check if this is a valid triangle.  If not
		// we simply returns.

		if (!triangle.isValid()) {
			System.out.println("This is not a valid triangle.");
			return;
		}

		// Check for right/equilateral/isosceles/scalene triangles
		// Note that a triangle can be both right triangle and isosceles
		// or both right triangle and scalene.
		
		if (triangle.isRight()) 
			System.out.println("This is a right triangle.");

		if (triangle.isEquilateral())
			System.out.println("This is an equilateral triangle.");
		else if (triangle.isIsosceles())
			System.out.println("This is an isosceles triangle.");
		else
			// we do not need to call isScalene here because a triangle
			// is either equilateral/isosceles or scalene.
			System.out.println("This is an scalene triangle.");
	}

	//---------------------------------------------------------------
	// main
	// 
	// Get the length of the sides of a triangle from user, then
	// print out the properties of the triangle.
	//---------------------------------------------------------------

	public static void main(String args[]) throws IOException
	{
		BufferedReader stdin = new BufferedReader
			(new InputStreamReader(System.in));

		double side1 = getInput(stdin, 
			"What is the length of the first side of your triangle? ");
		double side2 = getInput(stdin, 
			"What is the length of the second side of your triangle? ");
		double side3 = getInput(stdin, 
			"What is the length of the third side of your triangle? ");

		System.out.print("Pondering...\n");
		printProperties(new Triangle(side1, side2, side3));
	}
}