discrete problems