Binary_Search(LIST, HIGH, LOW)
    FIRSTLOW = 0
    LASTHIGH <--LENGTH(LIST)-1
    ANSWER <-- FALSE

    WHILE FIRSTLOW <= LASTHIGH AND NOT ANSWER
    MIDDLEVALUE <-- FIRSTLOW + LASTHIGH DIV 2
    IF(LIST(MIDDLEVALUE> HIGH AND LIST MIDDLEVALUE < LOW)
       ANSWER <-- TRUE

    ELSE:
       IF(HIGH LIST(MIDDLEVALUE)
