# -*- coding: utf-8 -*- N, = map(int, raw_input().split()) ret = 36 ** 13 for i in xrange(N): V, = map(str, raw_input().split()) maxs = 0 for v in V: try: num = int(v) except ValueError: num = ord(v) - ord('A') + 10 maxs = max(maxs, num) # (maxs+1)進数として扱う total = 0 for i, v in enumerate(V[::-1]): try: num = int(v) except ValueError: num = ord(v) - ord('A') + 10 total += num * (maxs+1) ** i ret = min(ret, total) print ret