Discrete Mathematics For Computer Scientists And Mathematicians