Розгляньте список чисел з двома можливими операціями:
вставити число — додає вказане число в кінець списку.
видалити число — видаляє перше входження вказаного числа зі списку. Якщо число відсутнє, список залишається без змін.
Наприклад, якщо вставити число 4 до списку [1,2,1], отримаємо [1,2,1,4]. Видаливши число 1 з цього списку, отримаємо [2,1,4]. Якщо ж спробувати видалити число 3 зі списку [1,2,1,4], список не зміниться.
Список вважається однорідним, якщо містить принаймні два однакових числа, і різнорідним, якщо містить принаймні два різних числа. Наприклад, [2,2] є однорідним, [2,1,4] є різнорідним, [1,2,1,4] є і однорідним, і різнорідним, а порожній список не є ні однорідним, ні різнорідним.
Напишіть програму, яка обробляє задану кількість операцій вставки та видалення на порожньому списку і визначає, чи є список однорідним або різнорідним після кожної операції.
Перший рядок вхідного файлу містить ціле число (1 \leq N \leq 10^5) — кількість операцій для обробки. Наступні рядків містять опис однієї операції кожен. Опис операції складається зі слова "insert" або "delete", за яким слідує ціле число (-10^9 \leq K \leq 10^9) — аргумент операції.
Для кожної операції виведіть рядок, що містить одне слово, яке описує стан списку після операції:
"both" — якщо список є і однорідним, і різнорідним.
"homo" — якщо список є однорідним, але не різнорідним.
"hetero" — якщо список є різнорідним, але не однорідним.
"neither" — якщо список не є ні однорідним, ні різнорідним.
Приклад 1