Ответ:

Для номера 1 разворачиваем список слов. Для номера 2 сортируем его лексикографически. Для номера 3 оставляем только первые вхождения слов в исходном порядке.

words = input().split()
n = int(input())

if n == 1:
    words.reverse()
elif n == 2:
    words.sort()
else:
    result = []
    seen = set()
    for word in words:
        if word not in seen:
            result.append(word)
            seen.add(word)
    words = result

print(' '.join(words))

При входе b at b a и номере 1 программа выведет a b at b; при номере 2 — a at b b; при номере 3 — b at a.