def process_fatal_error(token_list, values):
    """Retrieve and categorize fatal error.

    This function parses a line, retrieves fatal error message, categorizes it
    and stores it in the main 'values' dictionary with a key 'fatal'.

    Arguments:
        token_list (list)[-]: A list of tokens to be processed.
        values (dict)[-]: Main dictionary to store processed values.

    Returns:
        values (dict)[-]: Main dictionary to store processed values.
        token_list (list)[-]: A list of processed tokens.

    """
    values.setdefault('fatal', {})
    error_msg = token_list[2:]  # Removed first two elements: 'fatal', 'error.'
    print("Fatal error found: {0}".format(' '.join(error_msg)))

    if error_msg[:3] == ['cross-section', 'tables', 'missing']:
        za_num = int(error_msg[5].split('.')[0])  # error_msg[5] = 'ZZZAAA.(id)'
        values['fatal'].setdefault('xs_missing', []).append(za_num)
    return values, token_list