describe a polynomial time algorithm to solve the following problem:input: a boolean function in cnf such that each clause has exactly three literals.output: an assignment of the variables such that each clause has all true literals or all false literals, if such assignment exists, and report no otherwise.