Generating functions. Involution. Special Numbers (Catalan, Euler, Eulerian, Euler zigzag, Stirling, Bell, etc.). Approximations. Pólya's theory for counting. Hall's marriage theorem. Paths in an integer lattice. Kummer's, Legendre's and Lucas's Theorems and more.