import java.util.*

enum class TriangleType{
    None, Acute, Obtuse, Right
}
fun triangleType(a:Int, b:Int, c:Int): TriangleType{
    val (x, y, z) = listOf(a, b, c).sorted()
    return when{
        z >= x + y -> TriangleType.None
        z * z > x * x + y * y -> TriangleType.Obtuse
        z * z == x * x + y * y -> TriangleType.Right
        else -> TriangleType.Acute
    }
}
fun main(args:Array<String>): Unit {
    val memo = Stack<TriangleType>()
    while(true){
        val (a, b, c) = readLine()!!.trim().split(' ').map(String::toInt)
        val type = triangleType(a, b, c)
        when(type){
            TriangleType.None -> {
                println("${memo.size} ${memo.count { it == TriangleType.Right }} ${memo.count{it == TriangleType.Acute}} ${memo.count{it == TriangleType.Obtuse}}")
                return
            }
            else -> memo.push(type)
        }
    }
}
