#include<bits/stdc++.h> #define MAXN 100005 usingnamespace std; int l[MAXN],r[MAXN],p[MAXN]; int bl[MAXN<<1],br[MAXN<<1]; inlineintread(){ int x=0,f=1; char ch=getchar(); while (ch<'0'||ch>'9'){ if (ch=='-') f=-1; ch=getchar(); } while (ch>='0'&&ch<='9'){ x=(x<<3)+(x<<1)+(ch^'0'); ch=getchar(); } return x*f; } intmain(){ int n=read(),b=read(); int pos=0; for (registerint i=1;i<=n;++i){ p[i]=read();if (p[i]==b) pos=i; p[i]=(p[i]>=b)?(p[i]>b?1:0):-1; } for (registerint i=pos-1;i>=0;--i){ l[i]=l[i+1]+p[i]; bl[l[i]+MAXN]++; } int ans=0; for (registerint i=pos+1;i<=n;++i){ r[i]=r[i-1]+p[i]; ans+=bl[-r[i]+MAXN]; } printf("%d\n",ans); }