P, NP, NP-hard, NP-complete