let s = stdin.ReadLine() let xs = "0" + s |> Seq.map (string >> int) |> Seq.toArray let len = xs.Length let arr1 = Array.create len 0 arr1.[len - 1] <- 1 let arr2 = Array.create len 0 let mutable flg = true let cmp (a: int array) (b: int array) = let mutable i = 0 while i < len && a.[i] = b.[i] do i <- i + 1 if i < len then compare a.[i] b.[i] else 0 while flg do if cmp xs arr1 = -1 then flg <- false else for i = 0 to len - 1 do arr2.[i] <- arr1.[i] for i = 1 to len - 1 do if arr1.[i] >= 5 then arr1.[i - 1] <- arr1.[i - 1] + 1 arr1.[i] <- arr1.[i] * 2 % 10 arr2 |> Array.skipWhile (fun v -> v = 0) |> Array.map string |> String.concat "" |> printfn "%s"