#include <iostream>
#include<algorithm>
using namespace std;
long a[100003];
long delta[200006];
long ans=1;
long sum=0;long c=0;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
long n,b;
cin>>n>>b;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i]<b) a[i]=-1;
else if(a[i]>b) a[i]=1;
else if(a[i]==b)
{
a[i]=0;
c=i;
}
}
for(int j=c-1;j>=0;j--)
{
sum+=a[j];
delta[n+sum]++;
if(sum==0) ans++;
}
sum=0;
for(int j=c+1;j<n;j++)
{
sum+=a[j];
}
cout<<ans;
return 0;
}
#include<algorithm>
using namespace std;
long a[100003];
long delta[200006];
long ans=1;
long sum=0;long c=0;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
long n,b;
cin>>n>>b;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i]<b) a[i]=-1;
else if(a[i]>b) a[i]=1;
else if(a[i]==b)
{
a[i]=0;
c=i;
}
}
for(int j=c-1;j>=0;j--)
{
sum+=a[j];
delta[n+sum]++;
if(sum==0) ans++;
}
sum=0;
for(int j=c+1;j<n;j++)
{
sum+=a[j];
ans+=delta[n-sum];
//为了左右匹配,左右都有的情况怎么看呢?你就要加一个数组(num数组),
//统计左边的时候,每种sum的情况,右边都要进行匹配,需要注意正负,
//例如左边为-2,右边就要为2,但进行处理时,注意两种情况计算出的delta的下标需要相同;
if(sum==0) ans++;}
cout<<ans;
return 0;
}