In BinarySearch, there are a code may cause overflow.
int((maxIndex + minIndex) / 2)
If (maxIndex + minIndex) is greater than max int, there occurs overflow and return wrong number.
We should calcurate like below.
int(minIndex + (maxIndex-minIndex)/2)
I'll make a PR.