import re


def preprocess_and_split_to_tokens(sentences):
    """
    :param sentences: (array_like) array_like objects of strings.
        e.g., ["I like apples", "I love python3"]
    You can choose the level of pre-processing by yourself.
    The easiest way to start is lowering the case (str.lower).

    :return: array_like objects of array_like objects of tokens.
        e.g., [["I", "like", "apples"], ["I", "love", "python3"]]
    """
    tokens_per_sentence = []
    for s in sentences:
        s = s.lower()
        s = re.sub(r'[^a-z]+', ' ', s)
        tokens = [t for t in s.split(" ") if len(t) > 1]
        tokens_per_sentence.append(tokens)
    return tokens_per_sentence