using System; using System.Collections.Generic; class program { public static void Main() { var N = int.Parse(Console.ReadLine()); var V = new string[N]; for (var i = 0; i < N; i++) { V[i] = Console.ReadLine(); var buf = 0; for (var j = 0; j < V[i].Length; j++) { if (!(V[i][j] == '0')) { buf = j; break; } } V[i] = V[i].Substring(buf, V[i].Length - buf); } var minVal = V[0]; for (var i = 1; i < N; i++) { if (minVal.CompareTo(V[i]) > 0 && minVal.Length >= V[i].Length) { minVal = V[i]; } } var sinsu = (int)'0'; foreach(var s in minVal.ToCharArray()){ if (sinsu < s) sinsu = s; } if (sinsu >= 'A') { sinsu -= (int)'A' + 10; } else { sinsu -= (int)'0'; } var result = 0.0; for (int i = 0; i < minVal.Length; i++) { var c = (int)minVal[i]; if (c >= 'A') { c -= (int)'A' + 10; }else{ c -= (int)'0'; } result += Math.Pow((double)sinsu + 1, minVal.Length - i - 1) * c; } Console.WriteLine(result); } }