index
| submit
| rank
| book

## triangle – Six Triangle Types (challenge)

Every triangle can be classified as either scalene, isosceles or equilateral:

*equilateral* triangles have all edges of the same size;
*isosceles* triangles have exactly two edges of the same size;
*scanele* triangles have three edges of different sizes.

(Some authors consider equilateral to be a special case of isosceles. For the
purpose of this exercise, we use Euclid’s original definition and consider
isosceles triangles those with *exactly* two edges of the same size.)

All triangles can also be classified as right, obtuse and accute:

*obtuse* triangles have one greater than 90° angle;
*right* triangles have a 90° angle;
*acute* triangles have three less than 90° angles.

Write a program that given three edge sizes determines:

- whether a triangle is
*scalene*, *isosceles* or *equilateral*; and
- whether a triangle is
*right*, *obtuse* or *acute*; or
- if the triangle is impossible.

### Input and Output

Input consists of a several lines,
each with three natural numbers *x*, *y* and *z*
where

0 < x, y, z < 10 000

For each line of input, output should contain a line indicating both classifications or `impossible`

.

#### Example input

```
3 4 5
3 3 1
6 4 3
1 1 1
7 2 3
```

#### Example output

```
scalene right
isosceles acute
scalene obtuse
equilateral acute
impossible
```

### Scoring

- 1/5: works for the above example but produces output in an incorrect format
- 2/5: works for the above example and produces output in the correct format
- 4/5: works for other test cases
- 5/5: works for edge cases

try first: triangle1

try next: calc

index
| submit
| rank
| book

Copyright © 2020-2021 Rudy Matela

All rights reserved