How are NP Problems Solved