Description
考虑一个 N×M 的网格,每个网格要么是空的,要么是障碍物。整个网格四周都是墙壁(即第1行和第n行,第1列和第m列都是墙壁),墙壁有且仅有两处开口,分别代表起点和终点。起点总是在网格左边,终点总是在网格右边。你只能朝4个方向移动:上下左右。数据保证从起点到终点至少有一条路径。
从起点到终点可能有很多条路径,请找出有多少个网格是所有路径的必经网格。
Input
第一行包含两个整数 N,M ,表示网格 N 行 M 列。
接下来 N 行,每行 M 个字符,表示网格。'#'表示障碍物或墙壁,'.'表示空地。
Output
输出文件包含一个整数,必经点的个数。
Sample Input
7 7
#######
....#.#
#.#.###
#.....#
###.#.#
#.#....
#######
Sample Output
5
HINT
样例解释
(2, 1) (2, 2) (4, 4) (6, 6) (6, 7)
数据范围与约定
对于10%的数据, 3≤N,M≤50
对于50%的数据, 3≤N,M≤500
对于所有数据, 3≤N,M≤1000