smallest range recursive