#5755. 巡山

巡山

当前没有测试数据。

巡山

题目描述

唐僧师徒一路西行,快要到狮驼岭。狮驼岭的青狮、白象、大鹏三位大王听说唐僧快到非常开心,摩拳擦掌,准备捉了唐僧。

为了能够顺利捉到唐僧,大王们交代小旋风,附近的每座山的山顶都要安排小妖在山顶巡视,随时注意唐僧师徒的行踪。

小旋风立刻拿来了狮驼岭附近山丘的地图,这张地图是一个 N×MN×M 的矩阵,矩阵的第 ii 行第 jj 列用一个整数 AAij_{ij}表示该位置的高度。

从某位置开始向其所有相邻的位置能延伸到的,所有不超过当前位置高度的位置构成一座山,一座山中高度的最大值是山顶。(相邻的定义是某位置周边 88 个点认为和该点相邻)

如果某位置在地图的边界上,默认该点的高度一定是大于边界外的高度。

请你编程帮助小旋风计算出,小旋风需要派出多少小妖在山顶巡视。

请注意:同一座山如果有多个相邻位置都可以作为山顶,那么这座山只需要派出 11 个小妖在其中一个山顶巡视就可以了。

输入

11 行读入 N,MN,M 表示地图的大小。

接下来 NN 行,每行有 M M 个空格隔开的整数,表示该位置的高度。

输出

输出一个整数,代表需要派出小妖的数量。

样例

输入复制

8 7 
4 4 2 2 1 0 1 
3 4 3 2 1 0 1 
2 2 2 2 1 0 1 
2 1 1 1 1 0 0 
1 1 0 0 0 1 0 
0 0 0 1 1 1 0 
0 1 2 2 1 1 0 
0 1 1 1 2 1 0

输出复制

3

说明

样例 11 解释

三座山的山顶,在下图中,通过红色加粗表示。

数据范围

对于 100100% 的数据,1<N,M7001<N,M≤7000Aij100000≤A_{ij}≤10000