#codefestivalrelayd. [code_festival_relay_d]FU
[code_festival_relay_d]FU
问题描述
X和Y两位玩家正在玩一款名为FU
的游戏。
这个游戏是在一个的棋盘上,使用名为FU
的棋子进行的。X玩家将自己的FU
棋子逐个放置在棋盘最顶行的每个格子中,朝下放置;Y玩家将自己的FU
棋子逐个放置在棋盘最底行的每个格子中,朝上放置。
玩家按照以下规则交替选择自己的FU
棋子并移动:
- X玩家的
FU
只能向下相邻的格子移动; - Y玩家的
FU
只能向上相邻的格子移动; - 如果自己的
FU
和对手的FU
同时位于同一个格子中,可以吃掉对手的FU
。
在这个游戏中,玩家不能跳过自己的回合,也不能连续两次移动自己的FU
。当某位玩家吃掉所有对手的FU
时,该玩家获胜。
Noma君在比赛进行到中途时加入观战,但无论他问X玩家和Y玩家谁是先手,他们都无法回答,因为他们正专注于比赛。幸运的是,比赛刚刚开始,X玩家和Y玩家都没有吃掉对方的FU
,所以根据棋盘的状态,也许可以确定谁是先手。
因此,请编写一个程序,输入当前的棋盘状态,判断谁是先手。
输入
输入以以下格式给出:
...
- 第一行包含一个整数 (),表示棋盘的边长。
- 接下来的 行依次给出棋盘每行的状态,从最顶行到最底行。
- 每个 表示一个格子的状态,可以是
.
、X
、Y
三种字符之一。 .
表示该格子没有放置棋子,X
和Y
分别表示该格子有X玩家和Y玩家的FU
棋子。- 每列上必定存在一个
X
和一个Y
,并且保证X
位于Y
上面。 - 提供的棋盘状态满足游戏规则。
输出
如果X玩家先手,则输出X
;如果Y玩家先手,则输出Y
;如果无法确定谁是先手,则输出Impossible
。
最后换行,不包含多余的字符和空行。
输入示例1
4
X..X
.XX.
.YYY
Y...
输出示例1
Y
输入示例2
3
XXX
...
YYY
输出示例2
Impossible