#include <bits/stdc++.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define lli long long int
#define tc int t;cin>>t;while(t--)
#define all(x) x.begin(),x.end()
#define f first
#define s second
#define pb push_back
#define pi pair<int,int>
#define pll pair<lli,lli>
#define vi vector<int>
#define vll vector<lli>
#define vpi vector<pair<int,int> > 
#define vpll vector<pair<lli,lli> > 
#define vvi vector<vector<int> >
#define vvll vector<vector<lli> >
#define vvpi vector<vector<pair<int,int> > >
#define vvpll vector<vector<pair<lli,lli> > >
#define maxn 100005
#define inf 1000000000
#define maxn 100005
lli mod=(1ll<<63);


int main(){
    fastio;
    int n;
    cin>>n;
    vi a(n),lf(n),rt(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    lf[0]=0;
    for(int i=1;i<n;i++){
        if(a[i-1]<a[i])
        lf[i]=lf[i-1]+1;
        else lf[i]=0;
    }
    rt[n-1]=0;
    multiset<int> st;
    st.insert(lf[n-1]);
    st.insert(rt[n-1]);
    for(int i=n-2;i>=0;i--){
        if(a[i+1]<a[i])
        rt[i]=rt[i+1]+1;
        else rt[i]=0;
        st.insert(lf[i]);
        st.insert(rt[i]);
    }
    int ans=0;
    for(int i=0;i<n;i++){
        st.erase(st.find(lf[i]));
        st.erase(st.find(rt[i]));
        auto it=st.end();
        it--;
        if(lf[i]!=rt[i] or lf[i]==0 or lf[i]&1);
        else if(*(it)>=lf[i]);
        else if(lf[i]%2==0) ans++;
        st.insert(lf[i]);
        st.insert(rt[i]);
    }
    cout<<ans<<"\n";
    return 0;
}