#include<bits/stdc++.h>
using namespace std;
main(){
int n,k;
cin>>n>>k;
vector<int>v(n);
for(auto &it:v)cin>>it;
unordered_map<int,int>mp;
int i=0,j=0,subarray=0;
while(j<n){
mp[v[j]]++;
while(mp.size()>k){
if(mp[v[i]]==1)mp.erase(v[i]);
else mp[v[i]]--;
i++;
}
subarray+=j-i+1;
j++;
}
cout<<subarray<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm1haW4oKXsKICAgIGludCBuLGs7CiAgICBjaW4+Pm4+Pms7CiAgICB2ZWN0b3I8aW50PnYobik7CiAgICBmb3IoYXV0byAmaXQ6diljaW4+Pml0OwogICAgdW5vcmRlcmVkX21hcDxpbnQsaW50Pm1wOwogICAgaW50IGk9MCxqPTAsc3ViYXJyYXk9MDsKICAgIHdoaWxlKGo8bil7CiAgICAgICAgbXBbdltqXV0rKzsKICAgICAgICB3aGlsZShtcC5zaXplKCk+ayl7CiAgICAgICAgICAgIGlmKG1wW3ZbaV1dPT0xKW1wLmVyYXNlKHZbaV0pOwogICAgICAgICAgICBlbHNlIG1wW3ZbaV1dLS07CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgc3ViYXJyYXkrPWotaSsxOwogICAgICAgIGorKzsKICAgIH0KICAgIGNvdXQ8PHN1YmFycmF5PDwiXG4iOwp9