编程题
### 问题描述
小齐的牧场可以看作是一个 $N \times N$ 的方格网格,每个方格代表一块草地(想象成一个巨大的棋盘)。由于土壤的差异,一些区域的草比其他地方更绿。每个方格 $(i, j)$ 的绿度 $G(i, j)$ 描述了该方格的草的绿度,取值范围为 $1 \ldots 200$。
小齐想要拍摄一张他的牧场的照片。他希望确保照片上的子网格看起来足够绿,但不至于太过绿意盎然。因此,他决定拍摄一个最小绿度值为恰好 $100$ 的子网格。请帮助他确定他可能拍摄的不同照片数量。一个子网格可以是整个牧场,也可以是一个单独的方格(总共有 $N^2(N+1)^2/4$ 种不同的子网格,注意这个数字可能太大而无法存储在标准的 $32$ 位整数中,因此您可能需要使用 $64$ 位整数数据类型,如 $C/C++$ 中的 $long long$)。
### 输入格式
第一行输入一个整数 $N$。
接下来的 $N$ 行,每行包含 $N$ 个整数,共同描述了 $N \times N$ 牧场中的 $G(i, j)$ 值。
### 输出格式
请输出农夫小齐可以拍摄的不同照片数量,即最小绿度值恰好为 $100$ 的矩形子网格数量。
### 样例输入
```
3
57 120 87
200 100 150
2 141 135
```
### 样例输出
```
8
```
### 评测数据规模
$1 \leq N \leq 500$。