#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 11;
int n, k, a[MAXN];
long long res = 0;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> k;
for (int i = 1; i <= n; ++i)
{
cin >> a[i];
}
int left = 1;
unordered_map<int, int> mp;
for (int right = 1; right <= n; ++right)
{
++mp[a[right]];
while (mp.size() > k)
{
if (mp[a[left]] == 1)
{
mp.erase(a[left]);
}
else
{
--mp[a[left]];
}
++left;
}
res += right - left + 1;
}
printf("%lld", res);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWE4gPSAxZTUgKyAxMTsKCmludCBuLCBrLCBhW01BWE5dOwpsb25nIGxvbmcgcmVzID0gMDsKCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogICAgY2luID4+IG4gPj4gazsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpCiAgICB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CgogICAgaW50IGxlZnQgPSAxOwogICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gbXA7CiAgICBmb3IgKGludCByaWdodCA9IDE7IHJpZ2h0IDw9IG47ICsrcmlnaHQpCiAgICB7CiAgICAgICAgKyttcFthW3JpZ2h0XV07CiAgICAgICAgd2hpbGUgKG1wLnNpemUoKSA+IGspCiAgICAgICAgewogICAgICAgICAgICBpZiAobXBbYVtsZWZ0XV0gPT0gMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXAuZXJhc2UoYVtsZWZ0XSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAtLW1wW2FbbGVmdF1dOwogICAgICAgICAgICB9CiAgICAgICAgICAgICsrbGVmdDsKICAgICAgICB9CiAgICAgICAgcmVzICs9IHJpZ2h0IC0gbGVmdCArIDE7CiAgICB9CgogICAgcHJpbnRmKCIlbGxkIiwgcmVzKTsKCiAgICByZXR1cm4gMDsKfQ==