private static int binarySearch(int[] data, int value){
int low = 0,high = data.length-1;
while (low<=high){
int mid = low+(high-low)/2;
if(data[mid] == value) return mid;
else if(data[mid]>value) high = mid-1;
else low = mid+1;
}
return -1;
}