I'm playing around with Qiskit and Grover's algorithm. I'm writing a function that takes a list of values and generates an oracle that phase shifts precisely those values. For values ≠ 0, I can create gates that look like the following, each phase shifting exactly one value: ░ ░ ░ ░ ░ ░ q_0: ─■──░──o──░──■──░──o──░──■──░──o──░──■── │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │ q_1: ─o──░──■──░──■──░──o──░──o──░──■──░──■── │ ░ │ ░ │ ░ │ ░ │ ░ │ ░ │ q_2: ─o──░──o──░──o──░──■──░──■──░──■──░──■── ░ ░ ░ ░ ░ ░ but I don'