let rec prefix l =
    match l with
    | e1 :: e2 :: e3 :: e4 :: e5 :: _ ->
        e1 :: (e1 ^ e2) :: (e1 ^ e2 ^ e3) :: (e1 ^ e2 ^ e3 ^ e4) :: (e1 ^ e2 ^ e3 ^ e4 ^ e5) :: prefix (List.tl l)
    | e1 :: e2 :: e3 :: e4 :: [] ->
        e1 :: (e1 ^ e2) :: (e1 ^ e2 ^ e3) :: (e1 ^ e2 ^ e3 ^ e4) :: prefix (List.tl l)
    | e1 :: e2 :: e3 :: [] ->
        e1 :: (e1 ^ e2) :: (e1 ^ e2 ^ e3) :: prefix (List.tl l)
    | e1 :: e2 :: [] ->
        e1 :: (e1 ^ e2) :: prefix (List.tl l)
    | _ -> l

let () =
    let s = read_line () |> Str.split (Str.regexp "") in
    let k = read_int () in
    List.sort_uniq compare (prefix s)
    |> (fun l -> List.nth l (k - 1))
    |> print_endline
