#coding=UTF-8 #ぴっちり進法表記が最小になる N=int(input()) toten={} for idx in range(0,10,1): toten[str(idx)]=idx eiji='ABCDEFGHIJKLMNOPQRSTUVWXYZ' #print(len(eiji)) for idx in range(0,26,1): toten[eiji[idx]]=idx+10 #ord()を使えばいいようだがアルファベットが順に並んでいないHentai文字コードもあるそうな #上にUTF-8と言ってあるから大丈夫だとは思うけど V=[] for idx in range(0,N,1): V.append(input())#とりあえず文字列で持っておく ans=None for idx in range(0,N,1): #一番大きい桁を探す maxmoji=1 for moji in V[idx]: if toten[moji]>maxmoji: maxmoji=toten[moji] #2進法は1まで使う base=maxmoji+1 #基数baseでint型にする #ここらへんはちょく ゲホッ 因幡めぐるがやっていたような vnum=0 for moji in V[idx]: vnum=vnum+toten[moji] vnum=vnum*base vnum=vnum//base#末端は処理せねば if ans==None: ans=vnum elif ans>vnum: ans=vnum #もっとも、表でまとめてminを取るという手もあったが print(ans)