brute force and constraint propagation