CSP puzzle