counting principle in discrete mathematics