"""Pagination helper — contains an off-by-one bug that drops the last item of a page. The bug: `end = start + size - 1` and slicing `items[start:end]` excludes the last element of each page. A correct implementation returns exactly `size` items per page (and the remainder on the final page). """ def paginate(items, page, size): """Return the `page`-th (1-indexed) slice of `items` with `size` per page.""" start = (page - 1) * size end = start + size - 1 # BUG: off-by-one — drops the last item of the page return items[start:end]