有一个由 $H$ 行 $W$ 列组成的网格。该网格是圆柱形的:它的左侧和右侧连接在一起,因此第 $1$ 列和第 $W$ 列相邻。
网格中的一些方格放置了盘子,部分盘子上放置了豆子,初始时每个盘子中最多包含一颗豆子。在游戏过程中,一个盘子允许包含任意数量的豆子。
Alice 和 Bob 在这个网格上轮流进行游戏。Alice 先手。在每一回合中,玩家可以选择任意一颗豆子,设其当前所在的行和列为 $(r, c)$,并根据以下规则移动它:
- 豆子只能移动到放置有盘子的方格。
- 豆子不能移动到该特定豆子之前曾经到达过的方格(所有豆子都是可区分的)。
- 从 $(r, c)$ 出发,豆子可以移动到下方一格(移动到 $(r + 1, c)$,仅在 $r < H$ 时可行)、右侧一格(若 $c < W$ 则移动到 $(r, c + 1)$,若 $c = W$ 则移动到 $(r, 1)$)或左侧一格(若 $c > 1$ 则移动到 $(r, c - 1)$,若 $c = 1$ 则移动到 $(r, W)$)。
无法移动任何豆子的玩家输掉游戏。
确定如果双方都采取最优策略,谁将获胜。
输入格式
第一行包含两个整数 $H$ 和 $W$ ($1 \le H, W \le 1000$)。
接下来是网格的初始描述,包含 $H$ 行,每行包含一个长度为 $W$ 的字符串。第 $i$ 行的第 $j$ 个字符表示:‘#’ 表示方格 $(i, j)$ 没有盘子,‘.’ 表示该方格有一个空盘子,‘B’ 表示该方格有一个放了一颗豆子的盘子。不保证网格中包含所有三种类型的字符(例如,没有豆子的网格也是合法的)。
输出格式
如果 Alice 在双方采取最优策略的情况下获胜,输出 “Alice”。否则,输出 “Bob”。
样例
样例输入 1
2 3 B.# #..
样例输出 1
Alice
样例输入 2
1 1 B
样例输出 2
Bob
样例输入 3
1 3 B#.
样例输出 3
Alice
说明
在第一个样例中,唯一的豆子初始位于 $(1, 1)$。Alice 将其移动到 $(1, 2)$。Bob 唯一的移动是将豆子移动到 $(2, 2)$,然后 Alice 将豆子移动到 $(2, 3)$,此时 Bob 无法再进行移动,因此 Alice 获胜。