Фрукти
Ашот торгує на базарі дуже рідкими екзотичними фруктами. У нього є N таких фруктів, кожен з яких має свою додатну вагу, невідому Ашоту. Крім того, у нього є шалькові терези. Ашот може покласти на одну і на другу шальку терезів деяку кількість своїх фруктів. Терези при цьому покажуть чи рівні їх сумарні ваги фруктів на обох шальках, або одна з них переважить. Зробивши декілька таких зважувань, торговець вирішив передбачити результат ще одного, не виконуючи цого.
Напишіть програму, яка допоможе торговцю взнати результат, який може дати таке зважування.
Вхідні дані
У першому рядку вхідного файлу задано два цілих числа N і M (2 ≤ N ≤ 20, 0 ≤ M ≤ 50). Кожен з наступних M рядків визначає одне з проведених зважувань і має наступний формат: спочатку перераховано номери фруктів, які знаходяться на лівій шальці, потім один з символів "<", "=", ">", який визначає результат зважування, і нарешті – номери фруктів, які знаходяться на правій шальці. У отанньому рядку в аналогічному форматі задано зважування, результат якого потрібно взнати. На місці результату у цьому рядку буде символ "?". В рамках одного зважування довільний фрукт може знаходитись або на одній шальці, або на другій, або не приймати участь у зважуванні зовсім.
Вихідні дані
У вихідний файл виведіть в один рядок без пропусків усі можливі результати невиконаного зважування. У випадку декількох можливих результатів виводити слід у такому порядку – "<", "=", ">". У випадку, якщо вхідні дані суперечливі, виведіть "Impossible".