#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;
}