#include <bits/stdc++.h>
using namespace std;
int num[150000];
void Sum(int i, int op, int n, int &sum) {
  if (i != op && i > 0 && i <= n && op > 0 && op <= n) {
    swap(num[i], num[op]);
    if ((i & 1) && (op & 1)) {
      if ((i > 1 && num[i] < num[i - 1] || i == 1) &&
          (i < n && num[i] < num[i + 1] || i == n) &&
          (op == 1 || op > 1 && num[op] < num[op - 1]) &&
          (op == n || op < n && num[op] < num[op + 1]))
        sum++;
    } else if (!(i & 1) && (op & 1)) {
      if ((i > 1 && num[i] > num[i - 1] || i == 1) &&
          (i < n && num[i] > num[i + 1] || i == n) &&
          (op == 1 || op > 1 && num[op] < num[op - 1]) &&
          (op == n || op < n && num[op] < num[op + 1]))
        sum++;
    } else if ((i & 1) && !(op & 1)) {
      if ((i > 1 && num[i] < num[i - 1] || i == 1) &&
          (i < n && num[i] < num[i + 1] || i == n) &&
          (op == 1 || op > 1 && num[op] > num[op - 1]) &&
          (op == n || op < n && num[op] > num[op + 1]))
        sum++;
    } else {
      if ((i > 1 && num[i] > num[i - 1] || i == 1) &&
          (i < n && num[i] > num[i + 1] || i == n) &&
          (op == 1 || op > 1 && num[op] > num[op - 1]) &&
          (op == n || op < n && num[op] > num[op + 1]))
        sum++;
    }
    swap(num[i], num[op]);
  }
}
void Solve(int n, int minx[], int mins, int &sum) {
  if (mins == 0) {
    int op = minx[0];
    for (int i = 1; i <= n; i++) Sum(i, op, n, sum);
    op++;
    if (op <= n) {
      for (int i = 1; i <= n; i++) Sum(i, op, n, sum);
    }
    int sum1 = sum;
    Sum(minx[0], minx[0] + 1, n, sum);
    if (sum1 < sum) sum -= 2;
  } else if (mins == 1) {
    if (minx[0] + 1 == minx[1]) {
      Sum(minx[0], minx[1] + 1, n, sum);
      for (int i = 1; i <= n; i++) Sum(i, minx[1], n, sum);
    } else {
      Sum(minx[0], minx[1], n, sum);
      Sum(minx[0], minx[1] + 1, n, sum);
      Sum(minx[0] + 1, minx[1], n, sum);
      Sum(minx[0] + 1, minx[1] + 1, n, sum);
    }
  } else if (mins == 2) {
    if (minx[0] + 1 == minx[1] && minx[1] + 1 == minx[2]) {
      Sum(minx[0], minx[2], n, sum);
      Sum(minx[1], minx[2], n, sum);
      Sum(minx[1], minx[2] + 1, n, sum);
    } else if (minx[0] + 1 == minx[1]) {
      Sum(minx[1], minx[2], n, sum);
      Sum(minx[1], minx[2] + 1, n, sum);
    } else if (minx[1] + 1 == minx[2]) {
      Sum(minx[0], minx[2], n, sum);
      Sum(minx[0] + 1, minx[2], n, sum);
    }
  } else if (minx[0] + 1 == minx[1] && minx[2] + 1 == minx[3]) {
    Sum(minx[1], minx[3], n, sum);
  }
}
int main() {
  int n;
  while (~scanf("%d", &n) && n) {
    int sum = 0;
    for (int i = 1; i <= n; i++) scanf("%d", &num[i]);
    int minx[110], mins = -1;
    for (int i = 1; i <= n - 1; i++) {
      if (i & 1) {
        if (num[i] >= num[i + 1] && mins < 100) minx[++mins] = i;
      } else {
        if (num[i] <= num[i + 1] && mins < 100) minx[++mins] = i;
      }
    }
    if (mins >= 4 || mins < 0)
      printf("0\n");
    else {
      Solve(n, minx, mins, sum);
      printf("%d\n", sum);
    }
  }
  return 0;
}
