I'm trying to implement a binary search and somehow my function doesn't return the value wanted

```
import math
def binarySearch(a, l, r, v):
if l >= r:
return -1
mid = math.floor((l + r)/ 2)
if a[mid] == v:
return mid
elif(v < mid):
binarySearch(a,mid+1,r,v)
else:
binarySearch(a,l,mid-1,v)
a = [1,2,5,8,23,67,345]
print(binarySearch(a,0,6,5));
```

It keeps returning `-1`

Can someone shed a light where I went wrong?