Виявлення вірусів#10034

Виявлення вірусів

1 секунда
128 мегабайтів
Легка

На даний момент існує відомих науці видів вірусів. Кожен з цих вірусів має унікальну молекулярну масу, і їх можна позначити як K_1, K_2, \ldots, K_n у порядку зростання їх молекулярних мас.

Останнім часом Рафаель працює в лабораторії над виявленням нових видів вірусів. До лабораторії надійшло молекул певних вірусів. Рафаель проводить експериментів з цими вірусами. В результаті кожного експерименту, порівнюючи дві молекули вірусів, Рафаель визначає, чи вони рівні, чи одна з них має більшу молекулярну масу.

Допоможіть Рафаелю створити програму, яка на основі результатів експериментів визначить, до якого виду вірусів належить кожна з молекул. Якщо за наявними даними неможливо точно визначити вид молекули, виведіть символ '?' для цієї молекули.

Вхідні дані

У першому рядку задано три цілі числа (2 \le n \le 3 \cdot 10^5), і (1 \le m, v \le 3 \cdot 10^5). На наступних рядках наведено результати експериментів у форматі . Тут і — це цілі числа, що представляють порядкові номери порівнюваних молекул, а — один із символів '=', '<', '>'. Між числами , і символом немає пробілів. Гарантується, що серед експериментів немає суперечностей.

Вихідні дані

Виведіть рядків. У -му рядку виведіть один із символів (K_1, K_2, \ldots, K_n), якщо можна точно визначити вид -ї молекули, інакше символ '?'.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading