all topcoder algorithms will be pushed here