Functions and structures to be used as a base for programming contests in OCaml