C1705 [Wannafly冬令营2018Day8]岸边露伴的人生经验

内存限制:256 MB 时间限制:1000 ms

题目描述

岸边露伴是一个天才漫画家,他经常用自己的替身天堂之门来查看别人的人生经历,为自己的漫画积累素材。最近他学会了将一个人的人生经历编码成一个$10$维的向量,每一维取值为${0,1,2}$中的一个元素。定义向量$\overrightarrow{V}=(x_1,x_2,\cdots,x_{10})$的模长$|\overrightarrow{V}|$为$\sqrt{x_1^2+x_2^2+\cdots+x_{10}^2}$。令第$i$个人的人生经历对应的向量为$\overrightarrow{V_i}$,则第$i$个人和第$j$个人的人生轨迹的差别可以用$|\overrightarrow{V_i}-\overrightarrow{V_j}|$衡量。岸边露伴收集了n个人的向量,他想要知道这些人里,人生轨迹差别相同的二元组有多少对,即有多少个四元组$(i,j,k,l)(1 \le i,j,k,l \le n)$满足$|\overrightarrow{V_i}-\overrightarrow{V_j}|=|\overrightarrow{V_k}-\overrightarrow{V_l}|$。

输入格式

第一行一个整数$n(1 \le n \le 10^5)$代表露伴老师收集的向量数量。

接下来$n$行,每行$10$个整数$x_i(0 \le x_i \le 2)$代表向量每一维上的值。

输出

输出一行一个整数代表满足条件的四元组个数模$998244353$的值。

样例

样例输入 1

5 0 1 1 1 2 0 1 2 0 2 0 1 1 0 2 0 1 2 0 2 0 1 1 1 2 0 1 1 0 2 0 1 1 1 1 0 1 2 0 2 0 1 1 1 2 0 1 2 0 2

样例输出 1

229

提示