#include <bits/stdc++.h>
using namespace std;
const int MAXN = 150000 + 10;
int t[MAXN];
int n;
bool read() {
  if (scanf("%d", &n) < 1) {
    return false;
  }
  for (int i = 0; i < (int)n; ++i) {
    scanf("%d", &t[i]);
  }
  return true;
}
bool ok[MAXN];
int sum[MAXN];
int get_sum(int l, int r) {
  if (l > r) return 0;
  return sum[r + 1] - sum[l];
}
int last[MAXN];
bool is_ok(int);
bool check(int i, int j) {
  if (i > j) swap(i, j);
  swap(t[i], t[j]);
  int cnt = get_sum(0, i - 2);
  cnt += get_sum(i + 2, j - 2);
  cnt += get_sum(j + 2, n - 1);
  static int it = 0;
  ++it;
  for (int k = max(0, i - 1); k <= i + 1 && k < n; ++k) {
    last[k] = it;
    cnt += is_ok(k);
  }
  for (int k = max(0, j - 1); k <= j + 1 && k < n; ++k) {
    if (last[k] == it) {
      continue;
    }
    cnt += is_ok(k);
  }
  swap(t[i], t[j]);
  return cnt == n;
}
bool is_ok(int i) {
  if (i == n - 1) return true;
  if (i % 2 == 0) {
    return t[i] < t[i + 1];
    int mn = MAXN;
    if (i - 1 >= 0) {
      mn = min(mn, t[i - 1]);
    }
    if (i + 1 < n) {
      mn = min(mn, t[i + 1]);
    }
    return t[i] < mn;
  } else {
    return t[i] > t[i + 1];
    int mx = -MAXN;
    if (i - 1 >= 0) {
      mx = max(mx, t[i - 1]);
    }
    if (i + 1 < n) {
      mx = max(mx, t[i + 1]);
    }
    return t[i] > mx;
  }
}
int solve() {
  sum[0] = 0;
  for (int i = 0; i < (int)n; ++i) {
    ok[i] = is_ok(i);
    sum[i + 1] = sum[i] + ok[i];
  }
  int bad = n - get_sum(0, n - 1);
  assert(bad);
  if (bad > 20) {
    return 0;
  }
  vector<int> a;
  for (int i = 0; i < (int)n; ++i) {
    if (!ok[i]) {
      a.push_back(i);
      if (i - 1 >= 0) a.push_back(i - 1);
      if (i + 1 < n) a.push_back(i + 1);
    }
  }
  sort(begin(a), end(a));
  a.resize(unique(begin(a), end(a)) - a.begin());
  for (int i : a) ok[i] = false;
  memset(last, -1, sizeof last);
  int ans = 0;
  for (int i : a) {
    for (int j = 0; j < (int)n; ++j) {
      if (!ok[j] && j <= i) {
        continue;
      }
      if (check(i, j)) {
        ++ans;
      }
    }
  }
  return ans;
}
int main() {
  while (read()) {
    printf("%d\n", solve());
    break;
  }
  return 0;
}
