Codeforces Round 298 (Div. 2) |
---|
Закончено |
30 февраля в Центр олимпиадной подготовки программистов (ЦОПП) Берляндского государственного университета пришли n студентов. Они приходили по одному один за другим. Каждый из них, зайдя внутрь, прежде чем сесть за рабочее место, здоровался с присутствующими, пожимая руку. Каждый из пришедших студентов оставался в ЦОПП до конца дня, не покидая его.
В любой момент времени любые три студента могли объединиться и начать писать командный контест, который длился до конца дня. Команда не отвлекалась от контеста ни на минуту, поэтому очередной зашедший студент, здоровающийся с присутствующими, не пожимал руку участникам команд, пишущим контест. Каждая команда состояла ровно из трех студентов, а каждый студент мог стать членом не более чем одной команды. Разные команды могли начать писать контест в разное время.
Зная, скольким присутствующим каждый студент пожал руку, найдите возможный порядок, в котором студенты могли приходить в ЦОПП. Если такого порядка не существует, то сообщите, что это невозможно.
Обратите внимание, что какие-то студенты могли до конца дня работать самостоятельно, не участвуя в командном контесте.
В первой строке содержится целое число n (1 ≤ n ≤ 2·105) — количество студентов, пришедших в ЦОПП. В следующей строке содержатся n целых чисел a1, a2, ..., an (0 ≤ ai < n), где ai — количество студентов, которым i-й студент пожал руку.
Если искомый порядок студентов существует, в первую строку выведите «Possible», а во вторую строку — перестановку номеров студентов, задающую порядок, в котором студенты приходили в центр. Число i стоящее левее числа j в этой перестановке будет означать, что i-й студент пришел раньше j-го студента. Если ответов несколько, выведите любой.
Если искомого порядка студентов не существует, в единственную строку выведите «Impossible».
5
2 1 3 0 1
Possible
4 5 1 3 2
9
0 2 3 4 1 1 0 2 2
Possible
7 5 2 1 6 8 3 4 9
4
0 2 1 1
Impossible
В первом примере из условия порядок событий мог быть следующим:
Во втором примере из условия порядок событий мог быть следующим:
В третьем примере из условия порядок событий восстанавливается однозначно:
Название |
---|