implemented nchoosek in cython with tests and speed measurement for 100x improvement