mathematics a discrete introduction solutions