def surround_with_meta_tokens(sentences, meta_tokens):
    """
    :param sentences: an iterable of sentences, each sentence being an
    iterable of tokens (strs).
    :param meta_tokens: an instance of MetaTokens.
    :returns: a list of sentences, each sentence being a list of the
    same tokens as in the corresponding input sentence but with two
    additional tokens - `meta_tokens.start` as the first one and
    `meta_tokens.end` as the last one.
    """
    return [
        [meta_tokens.start, *s, meta_tokens.end]
        for s in sentences
    ]