def query_sum(seq, target):
    def bsearch(l, r):
        while r >= l:
            mid = l + (r - l) // 2
            s = sum(seq[mid:mid + 2])
            if s == target:
                return mid
            elif s > target:
                r = mid - 1
            else:
                l = mid + 1
        return -1
    i = bsearch(0, len(seq) - 1)
    if i < 0:
        return False
    print("Yes sum exist with pair {} {}".format(*seq[i:i + 2]))
    return True
 
x = [1, 2, 3, 4, 5]
y = [1, 2, 4, 8, 16]
 
query_sum(x, 7)
query_sum(y, 3)
				ZGVmIHF1ZXJ5X3N1bShzZXEsIHRhcmdldCk6CiAgICBkZWYgYnNlYXJjaChsLCByKToKICAgICAgICB3aGlsZSByID49IGw6CiAgICAgICAgICAgIG1pZCA9IGwgKyAociAtIGwpIC8vIDIKICAgICAgICAgICAgcyA9IHN1bShzZXFbbWlkOm1pZCArIDJdKQogICAgICAgICAgICBpZiBzID09IHRhcmdldDoKICAgICAgICAgICAgICAgIHJldHVybiBtaWQKICAgICAgICAgICAgZWxpZiBzID4gdGFyZ2V0OgogICAgICAgICAgICAgICAgciA9IG1pZCAtIDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGwgPSBtaWQgKyAxCiAgICAgICAgcmV0dXJuIC0xCiAgICBpID0gYnNlYXJjaCgwLCBsZW4oc2VxKSAtIDEpCiAgICBpZiBpIDwgMDoKICAgICAgICByZXR1cm4gRmFsc2UKICAgIHByaW50KCJZZXMgc3VtIGV4aXN0IHdpdGggcGFpciB7fSB7fSIuZm9ybWF0KCpzZXFbaTppICsgMl0pKQogICAgcmV0dXJuIFRydWUKCnggPSBbMSwgMiwgMywgNCwgNV0KeSA9IFsxLCAyLCA0LCA4LCAxNl0KCnF1ZXJ5X3N1bSh4LCA3KQpxdWVyeV9zdW0oeSwgMyk=