def triangle_by_angles(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
return "Ошибка: стороны должны быть положительными"
if a + b <= c or a + c <= b or b + c <= a:
return "Ошибка: такого треугольника не существует"
sides = sorted([a, b, c])
a2 = sides[0]**2
b2 = sides[1]**2
c2 = sides[2]**2
if a2 + b2 == c2:
return "Прямоугольный"
elif a2 + b2 > c2:
return "Остроугольный"
else:
return "Тупоугольный"
# Примеры
print(triangle_by_angles(3, 4, 5)) # Прямоугольный
print(triangle_by_angles(5, 5, 5)) # Остроугольный
print(triangle_by_angles(3, 4, 6)) # Тупоугольный
ZGVmIHRyaWFuZ2xlX2J5X2FuZ2xlcyhhLCBiLCBjKToKICAgIGlmIGEgPD0gMCBvciBiIDw9IDAgb3IgYyA8PSAwOgogICAgICAgIHJldHVybiAi0J7RiNC40LHQutCwOiDRgdGC0L7RgNC+0L3RiyDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L/QvtC70L7QttC40YLQtdC70YzQvdGL0LzQuCIKICAgIGlmIGEgKyBiIDw9IGMgb3IgYSArIGMgPD0gYiBvciBiICsgYyA8PSBhOgogICAgICAgIHJldHVybiAi0J7RiNC40LHQutCwOiDRgtCw0LrQvtCz0L4g0YLRgNC10YPQs9C+0LvRjNC90LjQutCwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAgICAKICAgIHNpZGVzID0gc29ydGVkKFthLCBiLCBjXSkKICAgIGEyID0gc2lkZXNbMF0qKjIKICAgIGIyID0gc2lkZXNbMV0qKjIKICAgIGMyID0gc2lkZXNbMl0qKjIKICAgIAogICAgaWYgYTIgKyBiMiA9PSBjMjoKICAgICAgICByZXR1cm4gItCf0YDRj9C80L7Rg9Cz0L7Qu9GM0L3Ri9C5IgogICAgZWxpZiBhMiArIGIyID4gYzI6CiAgICAgICAgcmV0dXJuICLQntGB0YLRgNC+0YPQs9C+0LvRjNC90YvQuSIKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuICLQotGD0L/QvtGD0LPQvtC70YzQvdGL0LkiCgojINCf0YDQuNC80LXRgNGLCnByaW50KHRyaWFuZ2xlX2J5X2FuZ2xlcygzLCA0LCA1KSkgICAjINCf0YDRj9C80L7Rg9Cz0L7Qu9GM0L3Ri9C5CnByaW50KHRyaWFuZ2xlX2J5X2FuZ2xlcyg1LCA1LCA1KSkgICAjINCe0YHRgtGA0L7Rg9Cz0L7Qu9GM0L3Ri9C5CnByaW50KHRyaWFuZ2xlX2J5X2FuZ2xlcygzLCA0LCA2KSkgICAjINCi0YPQv9C+0YPQs9C+0LvRjNC90YvQuQ==