# Ввод строки и разбиение на слова
input_string = input().strip()
words = input_string.split(' - ')
# Инициализация списков для категорий
multiple_3 = []
with_th = []
later_than = []
# Распределение слов по категориям
for word in words:
# Multiple 3: длина слова кратна 3
if len(word) % 3 == 0:
multiple_3.append(word.upper())
# With th: содержит "th" (без учёта регистра)
if 'th' in word.lower():
with_th.append(word.capitalize())
# Later than: идёт не позже "poor" в словаре
if word.lower() <= 'poor':
later_than.append(word.lower())
# Сортировка в обратном алфавитном порядке
multiple_3.sort(reverse=True)
with_th.sort(reverse=True)
later_than.sort(reverse=True)
# Форматирование вывода через " | "
result_multiple_3 = ' | '.join(multiple_3)
result_with_th = ' | '.join(with_th)
result_later_than = ' | '.join(later_than)
# Вывод результатов
print(result_multiple_3)
print(result_with_th)
print(result_later_than)