#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 5;
int n, m;
int inp[maxn];
long long getgreat(int m) {
  vector<int> s(2 * n + 3, 0);
  s[n] = 1;
  long long add = 0;
  long long result = 0;
  int sum = n;
  for (int i = 1; i <= n; i++) {
    if (inp[i] < m) {
      sum--;
      add -= s[sum];
    } else {
      add += s[sum];
      sum++;
    }
    result += add;
    s[sum]++;
  }
  return result;
}
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> inp[i];
  cout << getgreat(m) - getgreat(m + 1) << endl;
  return 0;
}
