In [10]:
import sys
grundy_dict = {0 : 0, k : k, l : l, 1: 1}
    
props = map(int, raw_input().split())
k = props[0]
l = props[1]
m = props[2]

i = 1

recurse_value = -1
min = sys.maxint
while True: 
    if i not in grundy_dict:
        i += 1
    else:
        val_a = i - 1
        val_b = i - k
        val_c = i - l
        
        min_val = min(min(val_a, val_b), val_c)
        
        if min_val == 1:
            grund_dict[i] = 0
            recurse_value = i
            break
        elif min_val > 0:
            grund_dict[i] = min_val - 1

games_arr = map(int, raw_input().split())

str_ = ""

for index in range(0, len(games_arr)):
    curr_n = games_arr[index]
    if curr_n == 1 or curr_n == k or curr_n == l:
        str_ += "A"
    elif curr_n < l:
        str_ += "B"
    else:
        if curr_n % recurse_value == 0:
            str_ += "B"
        else:
            str_ += "A"

print str_


2 3 5
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-10-dad0597cde2d> in <module>()
     19         val_c = i - l
     20 
---> 21         min_val = min(min(val_a, val_b), val_c)
     22 
     23         if min_val == 1:

TypeError: 'int' object is not callable

In [ ]: