atcoder#ARC087C. [ARC087E] Prefix-free Game

[ARC087E] Prefix-free Game

配点 : 700700

問題文

文字列 ss, tt について、sstt の prefix でなく、ttss の prefix でないとき、ss, tt は prefix-free であると言います。

LL を正の整数とします。 文字列集合 SS良い文字列集合 であるとは、次の条件が成り立つことです。

  • SS の各文字列は、長さ 11 以上 LL 以下であり、文字 0, 1 のみからなる。
  • SS の相異なる 22 つの文字列のペアはいずれも prefix-free である。

良い文字列集合 S={s1,s2,...,sN}S = \{ s_1, s_2, ..., s_N \} があります。 Alice と Bob が次のゲームで勝負します。 二人は交互に次の操作を行います。 Alice が先手です。

  • SS に新しい文字列をひとつ追加する。 ただし、追加後の SS は良い文字列集合のままでなければならない。

先に操作を行えなくなった方が負けです。 二人が最適に行動するとき、どちらが勝つか判定してください。

制約

  • 1N1051 \leq N \leq 10^5
  • 1L10181 \leq L \leq 10^{18}
  • s1s_1, s2s_2, ..., sNs_N はすべて相異なる。
  • {s1,s2,...,sN}\{ s_1, s_2, ..., s_N \} は良い文字列集合である。
  • s1+s2+...+sN105|s_1| + |s_2| + ... + |s_N| \leq 10^5

入力

入力は以下の形式で標準入力から与えられる。

NN LL

s1s_1

s2s_2

::

sNs_N

出力

Alice が勝つならば Alice を、Bob が勝つならば Bob を出力せよ。

2 2
00
01
Alice

Alice が 1 を追加すると、Bob は新たに文字列を追加できなくなります。

2 2
00
11
Bob

初手で Alice が追加できる文字列は 01, 1022 通りです。 初手で Alice が 01 を追加した場合は、Bob が 10 を追加すると、Alice は新たに文字列を追加できなくなります。 初手で Alice が 10 を追加した場合も、Bob が 01 を追加すると、Alice は新たに文字列を追加できなくなります。

3 3
0
10
110
Alice

Alice が 111 を追加すると、Bob は新たに文字列を追加できなくなります。

2 1
0
1
Bob

初手で Alice は新たに文字列を追加できません。

1 2
11
Alice
2 3
101
11
Bob