#include <bits/stdc++.h>
using namespace std;
int ara[200005];
bool func(int i) {
  if (i & 1) {
    if (ara[i] >= ara[i - 1]) return 0;
    if (ara[i] >= ara[i + 1]) return 0;
  } else {
    if (ara[i] <= ara[i - 1]) return 0;
    if (ara[i] <= ara[i + 1]) return 0;
  }
  return 1;
}
set<pair<int, int> > st;
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &ara[i]);
  int ind[15], cnt = 0;
  ara[0] = INT_MAX;
  if (n & 1)
    ara[n + 1] = INT_MAX;
  else
    ara[n + 1] = INT_MIN;
  for (int i = 1; i < n && cnt <= 5; i++) {
    if (i & 1) {
      if (ara[i] >= ara[i + 1]) ind[cnt++] = i, i += 2;
    } else {
      if (ara[i] <= ara[i + 1]) ind[cnt++] = i, i += 2;
    }
  }
  if (cnt > 5) {
    puts("0");
    return 0;
  }
  if ((ind[cnt - 1] - ind[0]) > 10 && cnt != 2) {
    puts("0");
    return 0;
  }
  if (cnt == 1) {
    for (int i = 1; i <= n; i++)
      for (int j = max(1, ind[0] - 1); j <= min(n, ind[0] + 2); j++) {
        swap(ara[i], ara[j]);
        bool flag = func(i);
        for (int k = max(1, ind[0] - 1); k <= min(n, ind[0] + 2); k++)
          flag &= func(k);
        swap(ara[i], ara[j]);
        if (flag) st.insert({min(i, j), max(i, j)});
      }
  }
  if ((ind[cnt - 1] - ind[0]) > 10) {
    for (int i = max(1, ind[0] - 2); i <= ind[0] + 2; i++)
      for (int j = ind[1] - 2; j <= min(n, ind[1] + 2); j++) {
        swap(ara[i], ara[j]);
        bool flag = 1;
        for (int k = max(1, ind[0] - 2); k <= ind[0] + 2; k++) flag &= func(k);
        for (int k = ind[1] - 2; k <= min(n, ind[1] + 2); k++) flag &= func(k);
        swap(ara[i], ara[j]);
        if (flag) st.insert({i, j});
      }
  } else {
    for (int i = max(1, ind[0] - 2); i < min(n, ind[cnt - 1] + 2); i++)
      for (int j = i + 1; j <= min(n, ind[cnt - 1] + 2); j++) {
        swap(ara[i], ara[j]);
        bool flag = 1;
        for (int k = max(1, ind[0] - 2); k <= min(n, ind[cnt - 1] + 2); k++)
          flag &= func(k);
        swap(ara[i], ara[j]);
        if (flag) st.insert({i, j});
      }
  }
  printf("%d\n", st.size());
  return 0;
}
