constraint satisfaction problem solving 4970776