introduction to constraint satisfaction 3352239