PROG0324 - Square

no tags 

Four points in a plane form a square if the four sides are of an equal length and if the diagonals are equal.

vierkant

The following points each form a square: 

(0,0), (0,1), (1,1), (1,0)
(0,0), (1,1), (0,1), (1,0)
(0,0), (2,1), (3,-1), (1, -2)

Pay attention to the fact that the points can be entered in a random order and that the sides of a square aren't necessarily parallel to $X$ and $Y$ axis. The points below do not form a square. They respectively form a rectangle, a rhombus and a degenerated case.

(0,0), (0,2), (3,2), (3,0)
(0,0), (3,4), (8,4), (5,0)
(0,0), (0,0), (1,1), (0,0)

Input

The input consists of eight real numbers, each on a separate line. These numbers are respectively the $x$ and $y$ co-ordinate of point $a$, the $x$ and $y$ co-ordinate of point $b$, the $x$ and $y$ co-ordinate of point $c$ and $x$ and $y$ co-ordinate of point $d$. The four points will never coincide, so you don't have to check this case. Be careful when comparing real numbers! As a preparation, reread pages 107-108 of the textbook or read the discussion on the flaws of floating point numbers in The Python Tutorial.

Output

The output consists of a single line. This line states square if the four points represent a square, if not the line will state not a square.

Example

Input:

0.0
0.0
0.0
1.0
1.0
1.0
1.0
0.0

Output:

square

Example

Input:

0.0
0.0
3.0
4.0
8.0
4.0
5.0
0.0

Output:

not a square

Vier punten in het vlak vormen een vierkant als de vier zijden even lang zijn én de twee diagonalen even lang zijn.

vierkant

De volgende vier punten vormen dus telkens een vierkant:

(0,0), (0,1), (1,1), (1,0)
(0,0), (1,1), (0,1), (1,0)
(0,0), (2,1), (3,-1), (1, -2)

Let dus op het feit dat de punten in een willekeurige volgorde kunnen opgegeven worden, en dat de zijden van het vierkant niet noodzakelijk evenwijdig moeten zijn met de $X$- en $Y$-as. De volgende vier punten vormen geen vierkant, maar respectievelijk een rechthoek, een ruit en een ontaard geval:

(0,0), (0,2), (3,2), (3,0)
(0,0), (3,4), (8,4), (5,0)
(0,0), (0,0), (1,1), (0,0)

Invoer

De invoer bestaat uit acht reële getallen, die elk op een afzonderlijke regel staan. Deze getallen zijn respectievelijk de $x$- en $y$-coördinaat van het punt $a$, de $x$- en $y$-coördinaat van het punt $b$, de $x$- en $y$-coördinaat van het punt $c$ en de $x$- en $y$-coördinaat van het punt $d$. De vier punten zullen nooit alle vier samenvallen, dus dit geval moet je niet controleren. Wees op je hoede voor het vergelijken van reële getallen! Lees als voorbereiding nog eens pagina's 107-108 van het handboek na of lees de bespreking van de beperkingen van floating point getallen in The Python Tutorial.

Uitvoer

De uitvoer bestaat uit één regel. Deze regel is gelijk aan vierkant als de vier punten een vierkant voorstellen en geen vierkant in het andere geval.

Voorbeeld

Invoer:

0.0
0.0
0.0
1.0
1.0
1.0
1.0
0.0

Uitvoer:

vierkant

Voorbeeld

Invoer:

0.0
0.0
3.0
4.0
8.0
4.0
5.0
0.0

Uitvoer:

geen vierkant


Added by:Peter Dawyndt
Date:2013-02-06
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:PY_NBC
Resource:None