#(#(#((##((()))(((#)(#()#(((()()(()#(##(((()(((()))#(((((()(((((((()#((#((()(#(((()(()##(()(((()((#(
 (#((((()
 (#((
 ((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((##
 (())((((#)
 (#(
 (#))(#(#)((((#(##((#(#((((#(##((((((#((()(()(())((()#((((#((()((((#(((((#(##)(##()((((()())(((((#(((
 ##((((((()
 #((#
 #))))
 (((((#(#(#(#()
 ((#(()#(##
 (((((((((((((((((((###################
 )((##((###
 (((()#(#)(
 ((#)(
 )(((())#
 ()((#((#(#()
 ((#(
 ()#(#())()()#)(#)()##)#((()#)((#)()#())((#((((((((#)()()(()()(((((#)#(#((((#((##()(##(((#(()(#((#))#

-1
 -1
 -1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 3
 -1
 -1
 -1
 -1
 -1
 1
1
1
5
 1
1
1
1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 -1
 -1
 -1
 -1
 1
1
3
 -1
 -1

#include <bits/stdc++.h>
using namespace std;
int n, my;
int a[300500];
int psum[300500];
int cnt[1000500][2];
int main() {
  scanf("%d%d", &n, &my);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  psum[0] = 0;
  for (int i = 1; i <= n; i++) {
    psum[i] = psum[i - 1];
    if (a[i] > my) psum[i]++;
    if (a[i] < my) psum[i]--;
  }
  long long ans = 0LL;
  memset(cnt, 0, sizeof(cnt));
  int add = 100000;
  for (int i = 1; i <= n; i++) cnt[psum[i] + add][i % 2]++;
  for (int len = 0; len <= n; len++) {
    if (len > 0 && a[len] == my) break;
    int need = psum[len] + add;
    ans += (1LL * cnt[need][1 ^ (len % 2)]);
    cnt[psum[len + 1] + add][(len + 1) % 2]--;
  }
  cout << ans << endl;
  return 0;
}
