明明同学有一个大小为n×m的表格,行编号从1到n,列编号从1到m。每个单元格都有一种颜色,可以表示为1到105的整数。
我们将位于第r行和第c列的单元格表示为(r,c)。我们将两个单元格(r1,c1)和(r2,c2)之间的曼哈顿距离定义为它们之间最短路径的长度,其中路径上的每个连续单元格必须有一个公共边。路径可以穿过任何颜色的单元格。例如,在一个3×4的表格中,单元格(1,2)和单元格(3,3)之间的曼哈顿距离为3,其中一条最短路径为:(1,2)→(2,2)→(2,3)→(3,3)。
明明同学决定计算每对相同颜色的单元格之间的曼哈顿距离之和。请你帮助明明同学计算该和值并输出该值。
第一行共两个整数:n和m(1<=n<=m,且n*m<=105)
接下来共n行,每行m个整数。第i行的m个整数可表示为:ci1, ci2, ……, cij,……,cim,(1<=cij<=105), 表示对应单元格的颜色值。
一行一个整数:所有颜色值相同的两个单元格之间的曼哈顿距离之和。
样例2输入:
3 4
1 1 2 2
2 1 1 2
2 2 1 1
样例2输出:
76
样例3输入:
4 4
1 1 2 3
2 1 1 2
3 1 2 1
1 1 2 1
样例3输出:
129
提示:(1)在第一个测试样例中,共由三对单元格的颜色值相同,分别为(1,1)和(2,3);(1,2)和(2,2);(1,3)和(2,1)。它们的距离值分别为3,1,3,所有曼哈顿距离之和为3+1+3=7.
(2) 由于数据量较大,暴力会超时哦。