update
Merge github.com:jgpelletier/algorithms
restored from backup