import sys
from enum import Enum
class TringleSideTypes (Enum) :
Invalid = 0
Equilateral = 1
Isosceles = 2
Scalene = 3
class TringleAngleTypes (Enum) :
Invalid = 0
Right = 1
Obtuse = 2
Acute = 3
def tringleType(a, b, c) :
if c<a :
(a, c) = (c, a)
if c<b :
(c, b) = (b, c)
if b<a :
(b, a) = (a, b)
sideResult = TringleSideTypes.Invalid
angleResult = TringleAngleTypes.Invalid
if c >= a + b :
return sideResult, angleResult
epsilon = abs(b) * 2*sys.float_info.epsilon
if abs(a-b)<epsilon or abs(c-b)<epsilon :
sideResult = TringleSideTypes.Isosceles
if abs(a-c)<=epsilon :
sideResult = TringleSideTypes.Equilateral
angleResult = TringleAngleTypes.Acute
return sideResult, angleResult
else :
sideResult = TringleSideTypes.Scalene
pitagoras = a*a + b*b - c*c
epsilon = c*c * 6*sys.float_info.epsilon
if abs(pitagoras)<=epsilon :
angleResult = TringleAngleTypes.Right
else :
angleResult = (pitagoras>0) and TringleAngleTypes.Acute or TringleAngleTypes.Obtuse
return sideResult, angleResult
for data in sys.stdin:
data = data.split()
a = float(data[0])
b = float(data[1])
c = float(data[2])
result = tringleType(a, b, c)
print(a, b, c, result[0], result[1])
aW1wb3J0IHN5cwpmcm9tIGVudW0gaW1wb3J0IEVudW0KCmNsYXNzIFRyaW5nbGVTaWRlVHlwZXMgKEVudW0pIDoKCUludmFsaWQgPSAwCglFcXVpbGF0ZXJhbCA9IDEKCUlzb3NjZWxlcyA9IDIKCVNjYWxlbmUgPSAzCgpjbGFzcyBUcmluZ2xlQW5nbGVUeXBlcyAoRW51bSkgOgoJSW52YWxpZCA9IDAKCVJpZ2h0ID0gMQoJT2J0dXNlID0gMgoJQWN1dGUgPSAzCgpkZWYgdHJpbmdsZVR5cGUoYSwgYiwgYykgOgoJaWYgYzxhIDoKCQkoYSwgYykgPSAoYywgYSkKCWlmIGM8YiA6CgkJKGMsIGIpID0gKGIsIGMpCglpZiBiPGEgOgoJCShiLCBhKSA9IChhLCBiKQoKCXNpZGVSZXN1bHQgPSBUcmluZ2xlU2lkZVR5cGVzLkludmFsaWQKCWFuZ2xlUmVzdWx0ID0gVHJpbmdsZUFuZ2xlVHlwZXMuSW52YWxpZAoJaWYgYyA+PSBhICsgYiA6CgkJcmV0dXJuIHNpZGVSZXN1bHQsIGFuZ2xlUmVzdWx0CgoJZXBzaWxvbiA9IGFicyhiKSAqIDIqc3lzLmZsb2F0X2luZm8uZXBzaWxvbgoJaWYgYWJzKGEtYik8ZXBzaWxvbiBvciBhYnMoYy1iKTxlcHNpbG9uIDoKCQlzaWRlUmVzdWx0ID0gVHJpbmdsZVNpZGVUeXBlcy5Jc29zY2VsZXMKCQlpZiBhYnMoYS1jKTw9ZXBzaWxvbiA6CgkJCXNpZGVSZXN1bHQgPSBUcmluZ2xlU2lkZVR5cGVzLkVxdWlsYXRlcmFsCgkJCWFuZ2xlUmVzdWx0ID0gVHJpbmdsZUFuZ2xlVHlwZXMuQWN1dGUKCQkJcmV0dXJuIHNpZGVSZXN1bHQsIGFuZ2xlUmVzdWx0CgllbHNlIDoKCQlzaWRlUmVzdWx0ID0gVHJpbmdsZVNpZGVUeXBlcy5TY2FsZW5lCgoJcGl0YWdvcmFzID0gYSphICsgYipiIC0gYypjCgllcHNpbG9uID0gYypjICogNipzeXMuZmxvYXRfaW5mby5lcHNpbG9uCglpZiBhYnMocGl0YWdvcmFzKTw9ZXBzaWxvbiA6CgkJYW5nbGVSZXN1bHQgPSBUcmluZ2xlQW5nbGVUeXBlcy5SaWdodAoJZWxzZSA6CgkJYW5nbGVSZXN1bHQgPSAocGl0YWdvcmFzPjApIGFuZCBUcmluZ2xlQW5nbGVUeXBlcy5BY3V0ZSBvciBUcmluZ2xlQW5nbGVUeXBlcy5PYnR1c2UKCglyZXR1cm4gc2lkZVJlc3VsdCwgYW5nbGVSZXN1bHQKCmZvciBkYXRhIGluIHN5cy5zdGRpbjoKCWRhdGEgPSBkYXRhLnNwbGl0KCkKCWEgPSBmbG9hdChkYXRhWzBdKQoJYiA9IGZsb2F0KGRhdGFbMV0pCgljID0gZmxvYXQoZGF0YVsyXSkKCXJlc3VsdCA9IHRyaW5nbGVUeXBlKGEsIGIsIGMpCglwcmludChhLCBiLCBjLCByZXN1bHRbMF0sIHJlc3VsdFsxXSkK