One Bomb

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

用N×M的矩形地图描述一个仓库。图中中的每个单元格可以是空的(“.”),也可以是墙壁(“*”)。

 

你有一颗炸弹。如果你把它安放在(X,Y),那么可以炸掉所有X行 以及 Y列的墙壁。

 

你要确定是否可以仅放置一颗炸弹消灭仓库中所有的墙壁。炸弹可以安放在地图中任何一个点,不论是空地还是墙壁。

Input

多组输入,直到文件结束。
每组先输入两个整数n和m (1 ≤ n, m ≤ 1000)
之后n行每行m个字符,描述这个n*m的仓库,保证字符只有'.'(空地)或'*'(墙壁)

Output

对于每组输入,如果无法完成任务,输出"NO"
否则先输出"YES"
之后一行输出一个整数,表示可以放置的方案数

Sample Input

3 4
.*..
.**.
.*..
3 3
..*
.*.
*..
3 3
...
.*.
...

Sample Output

YES
1
NO
YES
5

Hint

第一组样例,炸弹必须放在(2,2)
第三组样例,炸弹可以放在(1,2)(2,1)(2,2)(2,3)(3,2)五个位置

Source

2016暑假集训结训赛 by LeiQ