def alphabet(num):
    return chr(ord('a') + num)

def longestPalindrome(s):
    def expand(l, r):
        while l >= 0 and r < len(s) and s[l] == s[r]:
            l -= 1
            r += 1
        return s[l+1:r]

    res = ""
    for i in range(len(s)):
        s1 = expand(i, i)      # 奇数回文
        s2 = expand(i, i + 1)  # 偶数回文

        for cur in (s1, s2):
            if len(cur) > len(res):
                res = cur
            elif len(cur) == len(res) and cur < res:
                res = cur
    return res

def main():
    import sys

    n = int(sys.stdin.readline().strip())
    nums = list(map(int, sys.stdin.readline().strip().split()))

    s = 1 if n < 0 else 0
    q = abs(n)

    S = alphabet(s)

    for num in nums:
        d = q % num
        q = q // num
        S += alphabet(d)   # 这里必须拼 d,不是 q

    if S == S[::-1]:
        print(f"{S}(palindrome)")
    else:
        print(longestPalindrome(S))

if __name__ == "__main__":
    main()