/* Rozwiazanie wzorcowe do zadania POD (Podciagi)
 * Autor: Jakub Radoszewski
 * Data: 23.01.2009
 * Opis: algorytm gasienicy (sliding window), uzywa kontenera map.
 */

#include <cstdio>
#include <map>
#include <algorithm>
using namespace std;

#define MAX_N 1000000

int n, k;
int a[MAX_N];
long long wyn;

int main()
{
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; i++)
    scanf("%d", a + i);

  map<int, int> mapa;
  int i = 0, j = 0;
  while (i < n)
  {
    while (j < n && (int)mapa.size() <= k)
      mapa[a[j++]]++;
    do
    {
      wyn += j - i - ((int)mapa.size() > k);
      mapa[a[i]]--;
      if (!mapa[a[i]])
        mapa.erase(mapa.find(a[i]));
      i++;
    } while ((int)mapa.size() > k && i < n);
  }
  printf("%lld\n", wyn);
  return 0;
}
