#L114514. 连连看

连连看

题目描述

小蓝正在和朋友们玩一种新的连连看游戏。在一个 n×mn \times m 的矩形网格中,每个格子中都有一个整数,第 ii 行第 jj 列上的整数为 Ai,jA_{i,j} 。玩家需要在这个网格中寻找一对格子 (a,b)(c,d)(a, b) − (c, d) 使得这两个格子中的整数 Aa,bA_{a,b}Ac,dA_{c,d} 相等,且它们的位置满足 ac=bd>0|a − c| = |b − d| > 0 。请问在这个 n×mn \times m 的矩形网格中有多少对这样的格子满足条件。

输入格式

输入的第一行包含两个正整数 n,mn, m ,用一个空格分隔。 接下来 nn 行,第 ii 行包含 mm 个正整数 Ai,1,Ai,2,,Ai,mA_{i,1}, A_{i,2}, \cdots , A_{i,m} ,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例

3 2
1 2
2 3
3 2
6
4 5
3 3 2 3 2 
1 1 1 4 4 
4 3 3 3 1 
3 2 2 1 1
18
4 5
1 2 1 2 2 
2 2 2 2 1 
2 2 1 1 2 
1 1 1 2 2
36

Limitation

1n,m1000,1Ai,j100.1 \leq n,m \leq 1000, 1 \leq A_{i,j} \leq 100.