discrete mathematics johnsonbaugh solutions