import re


def replace_emoticons_with_tags(tweet):
    """
    Replaces emoticons in a tweet with tags.
    INPUT:
        tweet: original tweet as a string
    OUTPU:
        tweet with emoticons replaced
    """
    hearts = set(['<3', '❤'])

    happy_faces = set([
        ':)', ":')", '=)', ':-)', ':]', ":']", '=]', ':-]', ':d',
        '(:', "(':", '(=', '(-:', '[:', "[':", '[=', '[-:'
    ])

    sad_faces = set([
        ':(', ":'(", '=(', ':-(', ':[', ":'[", '=[', ':-[',
        '):', ")':", ')=', ')-:', ']:', "]':", ']=', ']-:'
    ])

    neutral_faces = set([
        ':/', ':\\', ':|',
        '/:', '\\:', '|:'
    ])

    cheeky_faces = set([
        ':P', ':p', ":'P", ":'p", '=P', '=p', ':-P', ":-p"
    ])

    words = re.split(r'\s+', tweet)
    new_words = []

    for word in words:
        if word in hearts:
            new_words.append('<heart>')
        elif word in happy_faces:
            new_words.append('<smile>')
        elif word in neutral_faces:
            new_words.append('<neutralface>')
        elif word in sad_faces:
            new_words.append('<sadface>')
        elif word in cheeky_faces:
            new_words.append('<lolface>')
        else:
            new_words.append(word)

    return ' '.join(new_words)