# Optional Bonus 2: Handling repeating numbers

Has anyone been able to solve the second bonus question? I keep failing on the sample test input. I keep getting stuck and don’t know what to do. Please help me, I’ve added my approach below
extended_tests.append({
‘input’: {
‘nums’: [5, 6, 6, 9, 9, 9, 0, 0, 2, 3, 3, 3, 3, 4, 4]
},
‘output’: 6
})

Your `Expected Output: 6` is wrong,
According to your nums list, your `Expected Output` should be `'0'`.

This is what your `Actual Output` is, as your code seems to be working fine.

Thank you very much Utkarsh. Does that mean the list [5, 6, 6, 9, 9, 9, 0, 0, 2, 3, 3, 3, 3, 4, 4], need wasn’t rotated at all. Because I was thinking that the numbers 5, 6, 6, 9, 9, 9 should be that the end of the array.

Oh, wait sorry, I misread the question.

The rotation is happening before element `'0'` which is at index `'6'`. So yes, the `'Expected Output'` should be `'6'`.

I confused it with the element `'6'` in the list.

I think the problem in your code is with the first `if` statement.

``````if (nums[mid] == nums[mid-1]):
return 'left'
``````

Because for `nums: [5, 6, 6, 9, 9, 9, 0, 0, 2, 3, 3, 3, 3, 4, 4]`,
In first iteration,
`lo: 0 => nums[lo] : 5`
`hi: 14 => nums[hi] : 4`
`mid: 7 => nums[mid] : 0`

Now it will check for your 1st `if` statement,
`if (nums[mid] == nums[mid-1]):`
which would be true as, `nums[mid]= 0 =nums[mid-1]`

Now `hi` will become `mid-1 = 6`
and `mid = 3 => nums[mid] =9`

This time the first `if` statement would fail.(why? try yourself)

This would also fail the second/main `if` statement,

``````if(mid>0 and (nums[mid] < nums[mid-1])):
return 'found'
``````

Now your `lo = 4`
and `mid = 5 => nums[mid] = 9`

Again, it will pass the first `if` statement this time and `hi` would become `mid -1`
i.e. `hi=4`, which will take our `Expected Output:6` out of the list and wouldn’t even be checked.

Sorry, for the long answer but in short, I think removing the first `if` statement should work fine.

Wow. Thank you so much, that was super helpful