sig
  val iteri : (int -> unit) -> int -> unit
  val recti : ('-> int -> 'a) -> '-> int -> 'a
  val array_compare : ('-> '-> int) -> 'a array -> 'a array -> int
  val array_map_of_list : ('-> 'b) -> 'a list -> 'b array
  val array_rev_map_of_list : ('-> 'b) -> 'a list -> 'b array
  val array_rev_of_list : 'a list -> 'a array
  val array_fold_lefti : (int -> '-> '-> 'a) -> '-> 'b array -> 'a
  val array_fold_righti : (int -> '-> '-> 'b) -> 'a array -> '-> 'b
  val array_filter : (int -> '-> bool) -> 'a array -> int list
  val array_fold_left_mapi :
    (int -> '-> '-> 'a * 'c) -> '-> 'b array -> 'a * 'c array
  val array_fold_left2i :
    (int -> '-> '-> '-> 'a) -> '-> 'b array -> 'c array -> 'a
  val array_min_equal_not_null :
    (int * 'a list) array ->
    (int * 'b list) array -> ('a list * 'b list) option
  val float_is_zero : float -> bool
  val pow : int -> int -> int
  val pow64 : Int64.t -> Int64.t -> Int64.t
  val not_an_id : string -> bool
  val read_input : unit -> string
  val min_pos_int_not_zero : int * '-> int * '-> int * 'a
  val max_pos_int_not_zero : int * '-> int * '-> int * 'a
  val fold_over_permutations : (int list -> '-> 'a) -> int list -> '-> 'a
  val gcd_2 : int -> int -> int
  val lcm : int list -> int
  val fact : int -> int
  val get_product_image_occ :
    int -> (int -> int -> int) -> (int -> int) -> 'a list -> int
  val get_product_image_occ_2 :
    int ->
    (int -> int -> int) -> (int -> int -> int) -> 'a list -> 'a list -> int
  val get_interval_list : (int -> bool) -> int -> int -> (int * int) list
  val lowercase : string -> string
  val capitalize : string -> string
  val smash_duplicate_in_ordered_list :
    ('-> '-> int) -> ('a * int) list -> ('a * int) list
  val default_message_delimter : char
end