#include <bits/stdc++.h>
using namespace std;
int a[150009], n;
int pd(int i) {
  if (i < 1 || i >= n) {
    return 1;
  }
  if ((i & 1) && a[i] >= a[i + 1]) {
    return 0;
  }
  if (!(i & 1) && a[i] <= a[i + 1]) {
    return 0;
  }
  return 1;
}
vector<int> c;
bool cg(int x, int y) {
  bool kg = 1;
  swap(a[x], a[y]);
  for (int i = 0; i < c.size(); i++) {
    if (!pd(c[i])) {
      kg = 0;
    }
  }
  if (!pd(x) || !pd(x - 1) || !pd(y) || !pd(y - 1)) {
    kg = 0;
  }
  swap(a[x], a[y]);
  return kg;
}
int main() {
  int i, j, sum;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  for (i = 1; i < n; i++) {
    if (!pd(i)) {
      c.push_back(i);
    }
  }
  if (c.size() > 4) {
    printf("0\n");
    return 0;
  }
  j = c[0];
  sum = 0;
  for (i = 1; i <= n; i++) {
    if (cg(i, j)) {
      sum++;
    }
  }
  for (i = 1; i <= n; i++) {
    if (cg(i, j + 1)) {
      sum++;
    }
  }
  if (cg(j, j + 1)) {
    sum--;
  }
  printf("%d\n", sum);
  return 0;
}
