# Custom Mixer for QAOA for Graph Coloring, where to start?

I am trying to implement QAOA for graph coloring with hard constraints. In this paper, eq. 9 a custom mixer is proposed, is looks like this:

$$B_{ui} = \frac{1}{2^{l + 1}}(X_{u0}X_{u1} + Y_{u0}Y_{u1}) \prod_{j=1}^l(I + Z_{v_ji})$$.

$$l$$ is the number of neighboring nodes, u - the node, i - the color. And I think, there is a mistake, and $$i$$ should be instead of ones. As I understand, new mixer unitary is this:

$$\hat{U}_M = \prod_{u, i} e^{-i\frac{a}{2^{l+1}}X_{u0}X_{u1}\prod_{j=1}^l(I + Z_{v_ji})}e^{-i\frac{a}{2^{l+1}}Y_{u0}Y_{u1}\prod_{j=1}^l(I + Z_{v_ji})}$$

How to implement this on qiskit? Are there any tips, examples or advice?

I know how to implement terms which are products of Pauli gates such as $$Z_iZ_kY_j$$ or something like it, but I have no idea, how to write product in general, especially when $$I$$ is involved.

I have found a question, which shed light on how to implement custom mixers, but I still don't quite understand.

A blog post could be helpful, investigating. Not exactly, there are solutions for exact number of nodes, which I might try.