discrete algorithmic mathematics pdf