def split_evenly(n, chunks):
    """Split an integer into evenly distributed list

    >>> split_evenly(7, 3)
    [3, 2, 2]

    >>> split_evenly(12, 3)
    [4, 4, 4]

    >>> split_evenly(35, 10)
    [4, 4, 4, 4, 4, 3, 3, 3, 3, 3]

    >>> split_evenly(1, 2)
    Traceback (most recent call last):
        ...
    ChunkingError: Number of chunks is greater than number

    """
    if n < chunks:
        raise ChunkingError("Number of chunks is greater than number")
    if n % chunks == 0:
        # Either we can evenly split or only 1 chunk left
        return [n / chunks] * chunks
    # otherwise the current chunk should be a bit larger
    max_size = n / chunks + 1
    return [max_size] + split_evenly(n - max_size, chunks - 1)