Algorithms and complexity - WILF, Herbert S. (A K Peters, 2002)