def find_peak(hill):
    """
    Assumption: 'hill' is a nonempty list of integers with the guarantee that
    there is some index 0 <= i < len(l) such that the sublist
    hill[0:i+1] is strictly increasing and the sublist hill[i:len(l)] is
    strictly decreasing. So hill[i] is the 'peak' of the hill.

    Return the index i of this peak. Your algorithm should run in O(log n) time.

    You can assume that we will only test your implementation with
    lists that satisfy the above property.

    Examples:
    find_peak([1, 3, 6, 7, 4, 1])
    3

    find_peak([4])
    0

    find_peak([1, 2, 3])
    2

    find_peak([9, 4])
    0

    find_peak([1, 8, 6, 2])
    1
    """
    
    pass
