opam.ocaml.org: 57/99 problem code

I've made code to 57. problem of 99 ocaml's problems. Hope you like it :) . It uses Core.Std it's main idea is to build tree without looking at position and then if we have colision we stretch subtrees of this nodes in their lca ( lowest common ancestor ) :yellow_heart: 
Please do not use `Core`, we prefer the solutions to require only the sandard distribution with no additional package.  In your case, that only amounts to swap some arguments and/or remove labels.