array range , first , last , intersection