#include <bits/stdc++.h>
using namespace std;
const long double pi =
    3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989;
long long func(long long x, long long n = 0) {
  return (x - n) ? func(x, ++n) : n;
}
long long gcd(long long a, long long b) {
  if (a && b) return gcd(b, a % b);
  return a + b;
}
const long long mod = 1e9 + 7;
class pt {
 public:
  double x, y;
  pt() { x = 0, y = 0; }
  pt(double x1, double y1) { x = x1, y = y1; }
  pt operator+(const pt &b) const { return pt(x + b.x, y + b.y); }
  pt operator-(const pt &b) const { return pt(x - b.x, y - b.y); }
  pt operator*(const double &k) const { return pt(x * k, y * k); }
  pt operator/(const double &k) const { return pt(x / k, y / k); }
  double operator*(const pt q) const { return q.x * x + y * q.y; }
};
int32_t main() {
  ios_base::sync_with_stdio(0);
  long long n, m;
  cin >> n >> m;
  vector<long long> a(n);
  for (long long i = 0; i < n; ++i) {
    cin >> a[i];
  }
  map<long long, long long> mapa;
  long long l = 0, r = 0;
  long long ans = 0;
  for (r = 0; r < n; ++r) {
    if (r < l) {
      ++mapa[a[r]];
      continue;
    }
    ++mapa[a[r]];
    if (mapa[a[r]] >= m) {
      ans += n - r;
      --mapa[a[l]];
      ++l;
      --mapa[a[r]];
      --r;
    }
  }
  cout << ans;
  return 0;
}
