discrete mathematics: past, present and future