#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<iostream>
#include<vector>
using namespace std;

//在一个整数数组上,对于下标为i的整数
//如果它大于所有它相邻的整数, 或者小于所有它相邻的整数,则称该整数为一个极值点,极值点的下标就是i。

//每个案例第一行为此数组元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔

//每个案例输出为n个数字(其中n为该案例中极值点的个数)
//每个数字对应相应数组的相应极值点下标值,下标值之间用空格分隔。

int main() {
    int k;
    while (scanf("%d", &k) != EOF) {
        vector<int> arr;
        for (int i = 0; i < k; i++) { //构建数组
            int current;
            scanf("%d", ¤t);
            arr.push_back(current);
        }
        int len = arr.size() - 1;
        int Final[80] = { 0 };
        if (arr[0] > arr[1] || arr[0] < arr[1]) {
            Final[0] = 1;
        }
        if (arr[len] > arr[len - 1] || arr[len] < arr[len - 1]) {
            Final[len] = 1;
        }
        for (int i = 1; i < len; i++) {
            if ((arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) || (arr[i] < arr[i - 1] &&
                    arr[i] < arr[i + 1])) {
                Final[i] = 1;
            }
        }

        for (int i = 0; i <= len; i++) {
            if (Final[i] == 1) {
                printf("%d ", i);
            }
        }
        printf("\n");

    }
    return 0;
}