C cs.cmu.edu Common Lisp names all sixteen binary logic gates 158 points optimalsolver 4 years ago 64 comments