#include <bits/stdc++.h>
using namespace std;
const int maxn = 201000;
int n, sum, a[maxn], q[maxn];
void init() {
  scanf("%d", &n);
  for (int i = (1); i <= (n); ++i) scanf("%d", &a[i]);
  sum = 0;
  for (int i = (2); i <= (n); ++i)
    if ((i & 1) && a[i] >= a[i - 1] || (i & 1) == 0 && a[i] <= a[i - 1])
      q[++sum] = i;
}
int ok(int t) {
  if (t & 1) {
    if (t > 1 && a[t] >= a[t - 1]) return 0;
    if (t < n && a[t] >= a[t + 1]) return 0;
  } else {
    if (t > 1 && a[t] <= a[t - 1]) return 0;
    if (t < n && a[t] <= a[t + 1]) return 0;
  }
  return 1;
}
int ok(int l, int r) {
  if (!ok(l) || !ok(r)) return 0;
  for (int i = (1); i <= (sum); ++i)
    if (!ok(q[i])) return 0;
  return 1;
}
int calc(int l, int r) {
  int k;
  swap(a[l], a[r]);
  k = ok(l, r);
  swap(a[l], a[r]);
  return k;
}
void work() {
  int ans = 0;
  for (int i = (1); i <= (n); ++i)
    if (i != q[1]) ans += calc(i, q[1]);
  for (int i = (1); i <= (n); ++i)
    if (i != q[1] - 1) ans += calc(i, q[1] - 1);
  ans -= calc(q[1], q[1] - 1);
  cout << ans << endl;
}
int main() {
  init();
  work();
  return 0;
}
