让我们一起来数方框!
现在有一张分辨率为h×w的图片,其中画了若干个方框。方框的线条宽度为1像素,且方框任一条边长度均不小于3像素。所有线条都水平或垂直,也就是不存在类似菱形等情况。
为了方便样例的解释,假设图片左上角为 (1,1) ,右下角为 (h,w) ,我们使用 [(l1,r1),(l2,r2)] 表示一个左上角位于(l1,r1),右下角位于 (l2,r2) 的方框。
不同的方框交叉会形成一些新的方框,例如样例中的图形就由 [(1,1),(9,15)], [(1,1),(6,7)], [(3,3),(9,15)],3个方框组成。然而画出的图形中,除了原本的3个方框,还新产生了[(6,1),(9,3)], [(3,3),(6,7)], [(1,7),(3,15)]共3个方框。所以样例中一共有6个方框。
数据保证,即使是因为交叉产生的小方框,小方框的任意一边长也不小于3像素。

现在姬哥在纸上画了不超过 100 个方框,你只知道最终画出的图片,请你数一数一张给定图片里有多少个方框。
第一行两个正整数h,w(3≤h,w≤1000),表示图片分辨率。
接下来一共h行w列的01值,代表图片中每个像素,1表示线条,0表示背景。
数据保证图片可以由不超过100个方框画出。
输出一行一个正整数,表示图片中方框的个数。
9 15
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1
1 0 1 0 0 0 1 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 0 0 0 0 0 0 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
6