Algorithms and complexity - Wilf, Herbert S. (Prentice Hall, 1986)