Consider the problem of constructing (not solving) crossword puzzles. You are given an N x M grid that specifies which squares are blank and which are shaded, as well as a list of words (i.e., a dictionary). The objective is to fill in the blank squares using the words from the list. Your task is to formulate this problem as a constraint satisfaction problem. Discuss two possible solutions:
a. one in which variables are letters, and
b. one in which variables are words.
Furthermore, discuss the pros and cons of these two formulations.