```
def phase_window(probs, estimation_wires):
""" Given an array of probabilities, return the phase window of the unitary's eigenvalue
Args:
probs (array[float]): Probabilities on the estimation wires.
estimation_wires (list[int]): List of estimation wires
Returns:
(float, float): the lower and upper bound of the phase
"""
##################
# YOUR CODE HERE #
##################
bound_1 = 0 # MOST LIKELY OUTCOME
bound_2 = 0 # SECOND MOST LIKELY OUTCOME
return (bound_1, bound_2)
```

The question gives probability of phase estimation from implemented QPE algorithm, and the goal of the problem is get lowest and highest bound of â€śphase windowâ€ť.

so, my approach was finding index of two indices with the highest and second highest probabillities, and divided with (`2^(number of estimation wires`

) as following code snippet, but it gaves incorrect answer.

```
id_1 = np.argmax(probs)
bound_1 = fractional_binary_to_decimal(id_1, estimation_wires) # MOST LIKELY OUTCOME
prob_1 = probs[id_1]
probs[id_1] = 0.0 #temporarily removes probability to get index with second highest probability
id_2 = np.argmax(probs)
bound_2 = fractional_binary_to_decimal(id_2, estimation_wires) #SECOND LIKELY OUTCOME
prob_2 = probs[id_2]
probs[id_1] = prob_1
return(bound_1, bound_2)
result: Incorrect: the estimate window are incorrect.
```

If you donâ€™t mind, can I get more hints (or definition of phase window, or something that I missed)

Thanks for reading this topic!