Collection of various algorithms