1 test case not passing

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[]arr=new int[n];
for(int i=0;i<arr.length;i++){
arr[i]=sc.nextInt();
}
int item=sc.nextInt();
System.out.println(Binary(arr,item));

}

public static int Binary(int[]arr,int item){
	int lo=0;
	int hi=arr.length-1;
	while(lo<=hi){
		int mid = (lo+hi)/2;
		if(arr[mid]<item){
			lo=mid+1;
		}else if(arr[mid]>item){
			hi=mid-1;
		}else{
			return mid;
		}
	}
	return -1;
}

}

hey @Shivam_balwani
try for this input
5
4 5 1 2 3
4
ur Code Gives -1
why are you using directly Binary Search .
ur Arrays is Sorted??