code: def chunk_generator(N, n):
      
  
      chunk_size = get_chunk_size(N, n)
      
      for start in range(0, N, chunk_size):
          yield slice(start, min(start + chunk_size, N))
docs: Returns a generator of slice objects.
      
      Parameters
      ----------
      N : int
          The size of one of the dimensions of a two-dimensional array. 
      
      n : int
          The number of arrays of shape ('N', 'get_chunk_size(N, n)') that fit into
          memory.
      
      Returns
      -------
      Slice objects of the type 'slice(start, stop)' are generated, representing
      the set of indices specified by 'range(start, stop)'.