起名总是很困难,而为参加 XCPC 的队伍起一个队名则更是难上加难。 Kagarii 一直在绞尽脑汁思考如何想出一个独特、有个性、宏大、深刻且巧妙的队名,以引起队伍中所有三名成员的共鸣。要满足所有三名成员的口味就更具挑战性了。
最终,绝望的 Kagarii 想到了一个非常老套的方法:从每位队员的名字中各选出一个字符,组成一个三字队名。然而,他突然意识到,从三名成员的名字中选出的字符恰好组成了其中一名成员的名字!
例如,在 Kagarii 的队伍中,三名成员的名字分别是:“Da Da Juan”、“Xiao Zhong Da” 和 “Da Zhong Xiao”。这三个人可以组成队名 “Da Zhong Xiao”(取自 “Da Da Juan” 的第一个字符,“Xiao Zhong Da” 的第二个字符,以及 “Da Zhong Xiao” 的第三个字符),这恰好是其中一名成员的名字。
显然,这让起队名变得容易多了,因此 Kagarii 计划将这种起名方法推广到整个训练队。他希望能看到更多这样的队名。
具体来说,训练队有 $n$ 名成员,其中第 $i$ 名成员的名字由三个数字 $S_{i,1}, S_{i,2}, S_{i,3}$ 组成(由于汉字太多,它们都被编码为整数),并且保证所有成员的名字各不相同。Kagarii 想知道有多少种方法可以选择三名成员,使得从每个人的名字中在不同位置各选出一个字符,并按照字符在原名字中的位置组合起来,恰好构成其中一名成员的名字。当然,如果形成的队名不同,则它们被视为不同的方案。
形式化地,任务是计算四元组 $(i, j, k, id)$ 的数量,其中 $1 \le i < j < k \le n$ 且 $id \in \{i, j, k\}$,使得存在 $\{i, j, k\}$ 的一个排列 $p$,满足 $\forall x \in \{1, 2, 3\}, S_{id,x} = S_{p_x,x}$。
输入格式
第一行包含一个正整数 $n$ ($3 \le n \le 10^5$),表示成员人数。 接下来 $n$ 行,每行包含三个正整数 $S_{i,1}, S_{i,2}, S_{i,3}$ ($1 \le S_{i,j} \le 10^6$),表示每个人的名字。保证对于任意 $i \neq j$,存在一个 $x$ 使得 $S_{i,x} \neq S_{j,x}$。
输出格式
输出一行,包含一个整数,表示符合条件的四元组数量。
样例
输入 1
5 4 2 4 2 4 3 2 1 2 3 4 4 4 4 1
输出 1
7
输入 2
3 1 2 3 1 2 4 2 2 3
输出 2
3
说明
对于样例 1,一个满足条件的四元组是 $(2, 3, 5, 2)$,对应的排列 $p$ 为 $\{3, 5, 2\}$。 对于样例 2,满足条件的四元组是 $(1, 2, 3, 1), (1, 2, 3, 2), (1, 2, 3, 3)$。