#include using namespace std; int n,m,i,k=-1,c,h[1<<17],u[1<<17],d[1<<17],p[1<<17]; vectorg[1<<17]; int main(){ for(cin>>n>>m;i>h[p[i]=i++]); sort(p,p+n,[](int i,int j){return h[i]>i>>c,g[--i].push_back(--c),g[c].push_back(i); u[0]=d[n-1]=1; for(int v:p)for(int t:g[v])if(h[t]>h[v]){ if(u[v])u[t]=max(u[t],u[v]+1); if(d[v])d[t]=max(d[t],d[v]+1); } for(i=0;ik)k=u[i]+d[i]-1; cout<