Discrete mathematics : lecture notes