# your code goes here
def upper_bound(arr, target):
left = 0
right = len(arr)
while left < right:
mid = left + (right - left) // 2
if arr[mid] <= target:
left = mid + 1
else:
right = mid
return left
arr = [3,5,5,5,8,8,10]
g = upper_bound(arr,5)
print(g)
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmRlZiB1cHBlcl9ib3VuZChhcnIsIHRhcmdldCk6CiAgICBsZWZ0ID0gMAogICAgcmlnaHQgPSBsZW4oYXJyKQoKICAgIHdoaWxlIGxlZnQgPCByaWdodDoKICAgICAgICBtaWQgPSBsZWZ0ICsgKHJpZ2h0IC0gbGVmdCkgLy8gMgoKICAgICAgICBpZiBhcnJbbWlkXSA8PSB0YXJnZXQ6CiAgICAgICAgICAgIGxlZnQgPSBtaWQgKyAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmlnaHQgPSBtaWQKCiAgICByZXR1cm4gbGVmdAogICAgCiAgICAKYXJyID0gWzMsNSw1LDUsOCw4LDEwXQpnID0gdXBwZXJfYm91bmQoYXJyLDUpCnByaW50KGcp