#include<stdio.h> 
struct z
{
	long long x;
	int y;
};
main()
{
	struct z gx[100000];
	int a,i,j,k=0;
	scanf("%d",&a);
	for(i=0;i<a;i++)
	scanf("%lld",&gx[i].x);
	for(i=0;i<a;i++)
		{
		if(gx[i].x>gx[i+1].x)
			gx[i].y=1;
		if(gx[i].x<gx[i+1].x)
			gx[i].y=-1;
		if(gx[i].x==gx[i+1].x)
			gx[i].y=0;
		}
	for(i=0;i<a-1;)
		for(j=i+1;j<a-1;j++)
			if(gx[i].y!=gx[j].y&&gx[j].y!=0)
				{k++;j++;i+=j;break;}
	printf("%d\n",k);
}