from typing import List
from typing import Dict


def get_initial_state(procs: int, tasks: List[int]) -> Dict[int, List[int]]:
    """generate the initial state of the system

    the initial stage is easy to generate: all processors have an empty 
    tasklist except the first one which has it all

    example:
        {
            0: [1, 2, 2, 2, 2, 3, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9], 
            1: [], 
            2: []
        }

    :param procs: number of available processors
    :param tasks: list of tasks to distribute

    :return: the initial state
    """
    if procs < 1:
        exit('Must provide at least one processor')

    state = {i: [] for i in range(procs)}
    state[0] = sorted(tasks)

    return state