def make_circuit(n: int, input_qubit):
    c = cirq.Circuit()
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.H.on(input_qubit[1]))
    c.append(cirq.H.on(input_qubit[1]))
    c.append(cirq.H.on(input_qubit[2]))
    c.append(cirq.H.on(input_qubit[3]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[3], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CNOT.on(input_qubit[0], input_qubit[2]))
    c.append(cirq.X.on(input_qubit[2]))
    c.append(cirq.CNOT.on(input_qubit[0], input_qubit[2]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[3], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CNOT.on(input_qubit[2], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[2], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.X.on(input_qubit[2]))
    c.append(cirq.X.on(input_qubit[2]))
    return c
def make_circuit(n: int, input_qubit):
    c = cirq.Circuit()
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.H.on(input_qubit[1]))
    c.append(cirq.H.on(input_qubit[1]))
    c.append(cirq.H.on(input_qubit[2]))
    c.append(cirq.H.on(input_qubit[3]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[3], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CNOT.on(input_qubit[0], input_qubit[2]))
    c.append(cirq.X.on(input_qubit[2]))
    c.append(cirq.CNOT.on(input_qubit[0], input_qubit[2]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[3], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CNOT.on(input_qubit[2], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.CZ.on(input_qubit[2], input_qubit[0]))
    c.append(cirq.H.on(input_qubit[0]))
    c.append(cirq.X.on(input_qubit[2]))
    c.append(cirq.X.on(input_qubit[2]))
    return c