### search 
from typing import *
def f_gold(nums: List[int], target: int) -> int:
    n = len(nums)
    left, right = 0, n - 1
    while left < right:
        mid = (left + right) >> 1
        if nums[0] <= nums[mid]:
            if nums[0] <= target <= nums[mid]:
                right = mid
            else:
                left = mid + 1
        else:
            if nums[mid] < target <= nums[n - 1]:
                left = mid + 1
            else:
                right = mid
    return left if nums[left] == target else -1