def inputRead(c, inps):
    """
    Reads the tokens in the input channels (Queues) given by the list inps
    using the token rates defined by the list c.
    It outputs a list where each element is a list of the read tokens.

    Parameters
    ----------
    c : [int]
        List of token consumption rates.
    inps : [Queue]
        List of channels.

    Returns
    ----------
    inputs: [List]
        List of token lists.
    """
    if len(c) != len(inps):
        raise Exception("Token consumption list and Queue list have different sizes")
    inputs = []
    for i in range(len(c)):
        aux = []
        for j in range(c[i]):
            aux.append(inps[i].get())
        inputs.append(aux)
    return inputs