#740. 消消乐

消消乐

问题描述

浅梦正在和朋友们玩一种新的“消消乐”游戏。

在一个 n×mn \times m 的矩形网格中,每个格子里都有一个整数。第 ii 行第 jj 列上的整数记作 Ai,jA_{i,j}。

玩家需要在网格中寻找一对格子 (a,b)(a,b) 和 (c,d)(c,d),满足以下条件:

  • 两个格子中的整数相等,即 Aa,b=Ac,dA_{a,b} = A_{c,d};
  • 它们的位置满足 ∣a−c∣=∣b−d∣>0|a-c| = |b-d| > 0。

请你计算,在这个 n×mn \times m 的网格中,一共有多少对这样的格子。

输入格式

第一行包含两个正整数 n,mn,m。

接下来 nn 行,每行包含 mm 个正整数,表示网格中的数值。

输出格式

输出一个整数,表示满足条件的格子对的数量。

样例输入1

3 2
1 2
2 3
3 2

样例输出1

6

说明

在样例 1 中,有 66 对符合条件的格子:

  • (1,2)(1,2) 和 (2,1)(2,1);
  • (2,1)(2,1) 和 (1,2)(1,2);
  • (2,1)(2,1) 和 (3,2)(3,2);
  • (3,2)(3,2) 和 (2,1)(2,1);
  • (2,2)(2,2) 和 (3,1)(3,1);
  • (3,1)(3,1) 和 (2,2)(2,2)。

样例输入2

6 4
1 1 3 2
2 4 3 4
7 4 3 1
3 5 4 6
5 2 4 9
7 4 9 1

样例输出2

12

数据范围

  • 1≤n,m≤20001 \le n, m \le 2000
  • 1≤Ai,j≤20001 \le A_{i,j} \le 2000