### minimumOperations 
from collections import deque
from typing import *
def f_gold(nums: List[int], start: int, goal: int) -> int:
    op1 = lambda x, y: x + y
    op2 = lambda x, y: x - y
    op3 = lambda x, y: x ^ y
    ops = [op1, op2, op3]
    vis = [False] * 1001
    q = deque([(start, 0)])
    while q:
        x, step = q.popleft()
        for num in nums:
            for op in ops:
                nx = op(x, num)
                if nx == goal:
                    return step + 1
                if 0 <= nx <= 1000 and not vis[nx]:
                    q.append((nx, step + 1))
                    vis[nx] = True
    return -1