Combinatorial Enumeration by Ian P. Goulden, M.J. David & David M. Jackson