let isCollision (abt1, abt2) = let (a1, b1, t1) = abt1 let (a2, b2, t2) = abt2 if a1 = a2 then false else let g1 = t1 + b2 let g2 = t2 + b1 g1 = g2 let solve n (abtArr: (int * int * int) array) = seq { for i in 0 .. (n - 2) do for j in (i + 1) .. (n - 1) -> (abtArr.[i], abtArr.[j]) } |> Seq.filter isCollision |> Seq.length let () = let n = stdin.ReadLine() |> int let abtArr = seq { for i in 1 .. n -> stdin.ReadLine().Split() |> Array.map int |> fun arr -> (arr.[0], arr.[1], arr.[2]) } |> Seq.toArray solve n abtArr |> printfn "%d"