Discrete Mathematics And Algorithm