output_description: If Alice will win, print `Alice`; if Bob will win, print `Bob`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N L
      s_1
      s_2
      :
      s_N
attempt: from collections import defaultdict
  
  
  def solve(l, ss):
      xor = 0
      for d in range(min(ss), l + 1):
          sl = ss[d]
          sl.sort()
          while sl:
              s = sl.pop()
              ps = s[:-1]
              ss[d + 1].append(ps)
              if s[-1] == "1":
                  if sl and sl[-1][:-1] == ps:
                      sl.pop()
                  else:
                      xor ^= d & -d
          del ss[d]
      return xor
  
  
  n, l = map(int, input().split())
  ss = defaultdict(list)
  for s in (input() for _ in range(n)):
      ss[l - len(s) + 1].append(s)
  
  print("Alice" if solve(l, ss) else "Bob")
  
problem_description: Statement
  
  For strings s and t, we will say that s and t are _prefix-free_ when neither
  is a prefix of the other.
  
  Let L be a positive integer. A set of strings S is a _good string set_ when
  the following conditions hold true:
  
    * Each string in S has a length between 1 and L (inclusive) and consists of the characters `0` and `1`.
    * Any two distinct strings in S are prefix-free.
  
  We have a good string set S = \\{ s_1, s_2, ..., s_N \\}. Alice and Bob will
  play a game against each other. They will alternately perform the following
  operation, starting from Alice:
  
    * Add a new string to S. After addition, S must still be a good string set.
  
  The first player who becomes unable to perform the operation loses the game.
  Determine the winner of the game when both players play optimally.
samples: [{"input": "2 2\n    00\n    01", "output": "Alice\n    \n\nIf Alice adds `1`, Bob will be unable to add a new string.\n\n* * *"}, {"input": "2 2\n    00\n    11", "output": "Bob\n    \n\nThere are two strings that Alice can add on the first turn: `01` and `10`. In\ncase she adds `01`, if Bob add `10`, she will be unable to add a new string.\nAlso, in case she adds `10`, if Bob add `01`, she will be unable to add a new\nstring.\n\n* * *"}, {"input": "3 3\n    0\n    10\n    110", "output": "Alice\n    \n\nIf Alice adds `111`, Bob will be unable to add a new string.\n\n* * *"}, {"input": "2 1\n    0\n    1", "output": "Bob\n    \n\nAlice is unable to add a new string on the first turn.\n\n* * *"}, {"input": "1 2\n    11", "output": "Alice\n    \n\n* * *"}, {"input": "2 3\n    101\n    11", "output": "Bob"}]