Give offset and limit to gatherer instead of each reducer
Apply final limit and offset on the gathering phase instead of reducing phase