Added iterative/recursive binary search and firstlast