1729 平衡球


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 64K

Problem types
Allowed languages
C, C++, Java, Python

Description

Xenocide最近又迷恋上一个新的游戏——平衡球。它是一个N*M的的棋盘状地图,一开始所有的空地上都有一个小球,现在你有一种操作,选择1个方向倾斜一次,那么所有地图上的球就向所选方向移动一格除了将要移动到的那格是障碍物或者是棋盘的边界(一个格子可以有多个小球)。地图上有一些小坑,如果球掉进小坑中将不能再出来。问最少操作几步可以使所有的球都掉进小坑中。

Input

包含多组测试数据 每组数据先输入两个整数n,m(1<=n,m<=4),然后输入n个行描述地图信息。其中’.’表示小球,’#’表示障碍物,’X’表示小坑。

Output

对于每组数据,输出最少要操作几步,如果永远都不能,请输出No。

Sample

Input

4 4
.X#.
.#..
..#.
....

Output

11

Source: Xenocide


Comments

There are no comments at the moment.