H. Часовщик
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В мастерской «У Сени» делают лучшие настенные часы! У очередного покупателя нестандартный запрос: он хочет, чтобы часы были как можно тоньше. У Сени есть несколько стрелок разной толщины, про каждую известно, может ли она использоваться в качестве часовой, минутной или секундной стрелки часов (одна и та же стрелка может быть нескольких типов).

Чтобы собрать часы, надо выбрать три стрелки, первая из которых может использоваться как часовая, вторая — как минутная, третья — как секундная. При этом их суммарная толщина должна быть минимальна. Требуется вывести наименьшую возможную суммарную толщину трёх стрелок или сообщить, что часы собрать невозможно.

Входные данные

В первой строке дано число $$$n$$$ — число стрелок ($$$0 \leq n \leq 10^5$$$).

Далее идут $$$n$$$ строк — описание стрелок.

На $$$i$$$-й строчке находится число $$$w_i$$$ — толщина $$$i$$$-й стрелки ($$$1 \leq w_i \leq 10^9$$$). Далее в этой же строке через пробел даны три числа: $$$h_i$$$, $$$m_i$$$, $$$s_i$$$ — может ли использоваться ли соотвествующая стрелка в качестве часовой, минутной или секундной соотвественно ($$$0 \leq h_i,m_i,s_i \leq 1$$$). Если число равно $$$1$$$, стрелку можно вставить на соответствующее место, иначе - нельзя.

Выходные данные

Если невозможно сделать часы из имеющих стрелок, выведите «Impossible» без кавычек, иначе выведите суммарную толщину стрелок, которые Сеня должен выбрать.

Примеры
Входные данные
4
3 1 0 0
1 1 1 0
2 0 1 0
1 0 0 1
Выходные данные
4
Входные данные
2
3 1 1 1
2 1 1 1
Выходные данные
Impossible