#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];
        ans+=delta[n-sum];
//为了左右匹配,左右都有的情况怎么看呢?你就要加一个数组(num数组),
//统计左边的时候,每种sum的情况,右边都要进行匹配,需要注意正负,
//例如左边为-2,右边就要为2,但进行处理时,注意两种情况计算出的delta的下标需要相同;
        if(sum==0) ans++;
    }
    cout<<ans;
    return 0;
}