아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Парад

시간 제한2초메모리 제한512 MB

요약
원래 순서를 유지한 채 왼쪽으로 나갈 병사의 키는 엄격히 증가하고 오른쪽으로 나갈 병사의 키는 엄격히 감소하도록 두 집단으로 나눈다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

Генералу Тупикову пришла в голову гениальная идея эффектного шоу во время проведения парада в честь пятидесятилетия победы в маленькой победоносной войне Флатландии над Берляндией.

В параде примет участие nn солдат. Солдаты, выстроенные в колонну по одному, выйдут на главную площадь. Затем, по команде генерала, некоторые солдаты сделают шаг влево, а остальные солдаты --- шаг вправо. В результате солдаты, сделавшие шаг влево, должны оказаться упорядочены по возрастанию роста, а сделавшие шаг вправо --- по убыванию.

Генерал приказал немедленно принести ему список солдат, которые примут участие в параде, чтобы определить, в каком порядке им следует построиться, кому сделать шаг влево, а кому --- вправо. Однако выяснилось, что репетиции парада продолжаются уже несколько месяцев и солдаты знают, в каком порядке они должны выйти на площадь.

Эта новость слегка огорчила генерала, но он не упал духом. Он выяснил рост всех солдат, которые примут участие в параде, и теперь хочет разбить всех солдат на два непустых множества: тех кто сделает шаг влево и тех, кто сделает шаг вправо. Сделавшие шаг влево должны оказаться упорядочены по возрастанию роста, а сделавшие шаг вправо --- по убыванию.

Помогите генералу составить сценарий парада, выясните, кому из солдат надо отдать команду сделать шаг влево. Остальные солдаты сделают шаг вправо. Хотя бы один солдат должен сделать шаг влево, и хотя бы один солдат должен сделать шаг вправо.

입력

В первой строке входного файла задано целое число nn (2≤n≤100,0002 \le n \le 100\\,000) --- количество солдат. Во второй строке задано nn целых положительных чисел a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n --- рост солдат (1≤a_i≤1091 \le a\_i \le 10^9). Рост солдат приведен в порядке, в котором они выйдут на площадь.

출력

В первой строке выходного файла выведите kk --- количество солдат, которым надо сделать шаг влево (1≤k≤n−11 \le k \le n - 1). В второй строке выходного файла выведите kk целых чисел b_1,b_2,…,b_kb\_1, b\_2, \ldots, b\_k --- номера солдат, которым надо сделать шаг влево (1≤b_1<b_2<…<b_k≤n1 \le b\_1 < b\_2 < \ldots < b\_k \le n).

Рост этих солдат должен строго возрастать, а рост оставшихся солдат должен строго убывать. Если решений несколько, выведите любое. 

В случае, если решения нет, в единственной строке выходного файла выведите <<Impossible>>.

예제3

  1. 예제 1

    입력
    6
    6 1 4 3 2 5
    
    예상 출력
    3
    2 4 6
    
  2. 예제 2

    입력
    6
    1 3 2 4 6 5
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    3
    1 1 1
    
    예상 출력
    Impossible