捷克理工大学的市场与公共关系部门设计了一种新型的可重构机械翻转广告牌(FFBB)。该广告牌是一个由 $R \times C$ 个塑料正方形瓦片组成的规则二维网格。每个塑料瓦片一面是白色,另一面是黑色。广告牌的设计理念是通过翻转单个瓦片来创建各种图案。这种广告牌将悬挂在大学的所有入口上方,用于展示简单的图片和宣传即将举行的学术活动。
为了更换图案,每个广告牌都配备了一个“重构装置”。该装置只是一根普通的木质长棒,用于敲击瓦片。如果你敲击一个瓦片,它就会翻转到另一面,即从白色变成黑色,反之亦然。你是否觉得这个创意非常聪明?
不幸的是,广告牌的制造者没有意识到一件事。瓦片之间靠得非常近,它们的边相互接触。每当敲击一个瓦片时,它会连同所有相邻的瓦片一起翻转。因此,如果你想改变一个瓦片的颜色,所有相邻的瓦片也会改变颜色。相邻的瓦片是指那些整条边相接的瓦片。所有内部瓦片都有 $4$ 个邻居,这意味着敲击时共有 $5$ 个瓦片会被翻转。当然,边界上的瓦片邻居较少。
例如,如果你拥有上方左图所示的广告牌配置,并敲击标记有叉号(X)的瓦片,你将得到右图所示的图案。如你所见,在这些条件下,重构广告牌并不容易。你的任务是找到最快的方法来“清除”广告牌,即将所有瓦片翻转到白色的一面。
输入格式
输入由多个广告牌的描述组成。每个描述以包含两个整数 $R$ 和 $C$($1 \le R, C \le 16$)的一行开始,指定广告牌的大小。接下来有 $R$ 行,每行包含 $C$ 个字符。字符可以是大写字母 X(黑色)或点 .(白色)。每个网格图后都有一个空行。输入以代表广告牌大小的两个零(0 0)结束。
输出格式
对于每个广告牌,输出一行,包含句子 “You have to tap T tiles.”,其中 $T$ 是使所有方块变白所需的最少敲击次数。如果该情况无法解决,则输出字符串 “Damaged billboard.”。
样例
输入样例 1
5 5 XX.XX X.X.X .XXX. X.X.X XX.XX 5 5 .XX.X ..... ..XXX ..X.X ..X.. 1 5 ...XX 5 5 ...X. ...XX .XX.. ..X.. ..... 8 9 ..XXXXX.. .X.....X. X..X.X..X X.......X X.X...X.X X..XXX..X .X.....X. ..XXXXX.. 0 0
输出样例 1
You have to tap 5 tiles. Damaged billboard. You have to tap 1 tiles. You have to tap 2 tiles. You have to tap 25 tiles.