@cached_property
    def left_end_needle(self):
        return min(chain(*map(self._get_row_needles, range(len(self._rows)))))