#include #include #include #include #include #include #include #include #include #include #include #include #include #define endl '\n' #define ALL(a) (a).begin(),(a).end() #define SZ(a) int((a).size()) #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define DEBUG(x) cout<<#x<<": "< P; typedef long long int LL; typedef unsigned long long ULL; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin>>n; vector v(n); REP(i,n) cin>>v[i]; ULL ans=ULLONG_MAX; REP(i,n){ ULL t=0; int ki=-1; REP(j,SZ(v[i])){ if(0<=v[i][j]-'0'&&v[i][j]-'0'<10){ ki=max(ki,v[i][j]-'0'); }else{ ki=max(ki,10+v[i][j]-'A'); //DEBUG(10+v[i][j]-'A'); } } ki++; //DEBUG(ki); RREP(j,SZ(v[i])){ int m; if(0<=v[i][j]-'0'&&v[i][j]-'0'<10){ m=v[i][j]-'0'; }else{ m=10+v[i][j]-'A'; } t+=m*powl(ki,(SZ(v[i])-1-j)); //DEBUG(t); } ans=min(ans,t); } cout<