let tbl = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" |> Seq.mapi (fun i c -> (c, int64 i)) |> dict let pow (b:int64) (e:int64) = let rec iter (c:int64) (acc:int64) = match c with | 0L -> acc | _ -> iter (c-1L) (acc*b) iter e 1L let convert (s:string) = let a = s.ToCharArray() |> Array.rev let b = Seq.sort a |> Seq.last |> fun c -> tbl.Item(c) + 1L a |> Seq.mapi (fun i c -> tbl.Item(c) * (pow b (int64 i))) |> Seq.sum let iter n = seq { for _ in 1..n -> stdin.ReadLine () } |> Seq.map convert let calc = int >> iter >> Seq.sort >> Seq.head stdin.ReadLine () |> calc |> printfn "%d"