/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Scanner scanner
= new Scanner
(System.
in); int n = scanner.nextInt();
int k = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
int res = countSubWithSumLessThenEqualK(nums,k);
}
public static int countSubWithSumLessThenEqualK(int []nums,int k){
int cnt=0;
int l=0,r=0;
int psum=0,len=0,actual = 0,n=nums.length;
Map
<Integer,Integer
> map
= new HashMap
<>(); while(l<n && r<n){
map.put(nums[r],map.getOrDefault(nums[r],0)+1);
r++;
len++;
while(map.size() > k && l < n){
map.put(nums[l],map.getOrDefault(nums[l],0)-1);
if(map.get(nums[l]) <= 0) map.remove(nums[l]);
l++;
len--;
}
if(map.size() <= k) cnt+=len;
}
return cnt;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVNjYW5uZXIgc2Nhbm5lciA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IG4gPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICBpbnQgayA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIGludFtdIG51bXMgPSBuZXcgaW50W25dOwogICAgICAgIAogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIG51bXNbaV0gPSBzY2FubmVyLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgaW50IHJlcyA9IGNvdW50U3ViV2l0aFN1bUxlc3NUaGVuRXF1YWxLKG51bXMsayk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHJlcyk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgaW50IGNvdW50U3ViV2l0aFN1bUxlc3NUaGVuRXF1YWxLKGludCBbXW51bXMsaW50IGspewoJCWludCBjbnQ9MDsKICAgICAgICBpbnQgbD0wLHI9MDsKICAgICAgICBpbnQgcHN1bT0wLGxlbj0wLGFjdHVhbCA9IDAsbj1udW1zLmxlbmd0aDsKICAgICAgICBNYXA8SW50ZWdlcixJbnRlZ2VyPiBtYXAgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgd2hpbGUobDxuICYmIHI8bil7CiAgICAgICAgICAgIG1hcC5wdXQobnVtc1tyXSxtYXAuZ2V0T3JEZWZhdWx0KG51bXNbcl0sMCkrMSk7CiAgICAgICAgICAgIHIrKzsKICAgICAgICAgICAgbGVuKys7CiAgICAgICAgICAgIHdoaWxlKG1hcC5zaXplKCkgPiBrICYmIGwgPCBuKXsKICAgICAgICAgICAgICAgIG1hcC5wdXQobnVtc1tsXSxtYXAuZ2V0T3JEZWZhdWx0KG51bXNbbF0sMCktMSk7CiAgICAgICAgICAgICAgICBpZihtYXAuZ2V0KG51bXNbbF0pIDw9IDApIG1hcC5yZW1vdmUobnVtc1tsXSk7CiAgICAgICAgICAgICAgICBsKys7CiAgICAgICAgICAgICAgICBsZW4tLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihtYXAuc2l6ZSgpIDw9IGspIGNudCs9bGVuOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY250OwoJfQp9