def preprocess_dataset(input_dataset=None, pad_length=150):
    """
        Pre-process the dataset.

        Given a list of item names, prepend the <START> token,
        then append the <END> token and <PAD> until the sequence
        length is reached. The assumed length is 150 to fit the
        short-form text presented in the Crepe architecture.

        Parameters
        ----------
        input_dataset : list(str)
            The list of all item names
        
        Returns
        -------
        padded_sequences : list(int)
            The list of all item names, with <START> and <END> tokens.
            Furthermore, all entries are now uniformly 150 characters.
        
        Raises
        ------
        ValueError
            If no dataset is provided, this error is raised.
    """
    if input_dataset is None:
        raise ValueError("No input_dataset provided.")
    #Prepend and Append each datum with the start and end tokens.
    encoded_input_dataset = ['*' + input_datum + '%' + '#' * (pad_length - len(input_datum) - 2) for input_datum in input_dataset]
    return encoded_input_dataset