#include<bits/stdc++.h>
using namespace std;
long long n,a[500005],c[500005],l;
void fun (long long int &i,long long int &j)
{
for(;i<=j;i++) c[a[i]]=0;
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>n>>l;
l=max(l,2ll);
memset(c,0,sizeof(c));
for(int i=1;i<=n;i++)
cin>>a[i];
long long ii=1,i=1,j=l,ans=0;
while(j<=n&&ii<=n)
{
if(i+l-1>=j)
c[a[i]]++,i++;
if(ii+l-1<=j)
ans+=j-ii-l+2-c[a[j]];
if(a[j+1]!=a[j])
j++;
else
j++,fun(ii,j),i=j;
}
// while(j<=n&&i<=n)
// {
// if(n-i+1<l) break;
// while(j-i+1<l&&a[j]!=a[j+1]&&j<=n)
// j++;
// if(j-i+1<l)
// i=i;//糊弄编译器
// else if(j-i==l&&a[j]==a[j+1])
// tmp+=1;
// else
// {
// c[a[j-l+1]]=1;
// tmp=0;
// while(a[j-1]!=a[j]&&j<=n)
// {
// tmp+=j-l-i+2-c[a[j]];
// j++;
// c[a[j-l+1]]++;
// }
// }
// for(i=i-1;i<=j+1;i++)
// c[a[i]]=0;
// j++;
// ans+=tmp;
// tmp=0;
// }
cout<<ans<<endl;
}
}