squares.cpp: In function 'vi paint(int)':
squares.cpp:11:31: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   11 |  const int K = 10, N = 1 << K - 1;
      |                             ~~^~~
squares.cpp: In lambda function:
squares.cpp:15:47: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   15 |    used[u << 1 | 0] = 1, dfs((u << 1 | 0) & N - 1), qu[cnt++] = u << 1 | 0;
      |                                             ~~^~~
squares.cpp:17:47: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   17 |    used[u << 1 | 1] = 1, dfs((u << 1 | 1) & N - 1), qu[cnt++] = u << 1 | 1;
      |                                             ~~^~~
squares.cpp: In function 'int find_location(int, vi)':
squares.cpp:28:31: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   28 |  const int K = 10, N = 1 << K - 1;
      |                             ~~^~~
squares.cpp: In lambda function:
squares.cpp:32:47: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   32 |    used[u << 1 | 0] = 1, dfs((u << 1 | 0) & N - 1), qu[cnt++] = u << 1 | 0;
      |                                             ~~^~~
squares.cpp:34:47: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   34 |    used[u << 1 | 1] = 1, dfs((u << 1 | 1) & N - 1), qu[cnt++] = u << 1 | 1;
      |                                             ~~^~~