Pay-as-you-go Poker & Showing Satisfiability of an Arbitrary Predicate Without Revealing How, Both as Secure as Factoring