#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f3(i, l, r) for(int i = l; i <= r; i++)
#define fd3(i, l, r) for(int i = l; i >= r; i--)
void openfile(){
#define NAME "run"
freopen(NAME".INP", "r", stdin);
freopen(NAME".OUT", "w", stdout);
}
const int N = 1e6 + 5;
int a[N];
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
openfile();
int n, l, d;
cin >> n >> l >> d;
f3(i, 1, n) cin >> a[i];
deque<int> maxDq, minDq;
int i = 1, ans = 0;
f3(r, 1, n) {
while(!maxDq.empty() && a[maxDq.back()] <= a[r]) {
maxDq.pop_back();
}
maxDq.push_back(r);
while(!minDq.empty() && a[minDq.back()] >= a[r]) {
minDq.pop_back();
}
minDq.push_back(r);
while(a[maxDq.front()] - a[minDq.front()] > d){
if(maxDq.front() == i) maxDq.pop_front();
if(minDq.front() == i) minDq.pop_front();
++i;
}
if(r - i >= l){
ans += r - i - (l - 1);
}
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGYzKGksIGwsIHIpIGZvcihpbnQgaSA9IGw7IGkgPD0gcjsgaSsrKQojZGVmaW5lIGZkMyhpLCBsLCByKSBmb3IoaW50IGkgPSBsOyBpID49IHI7IGktLSkKdm9pZCBvcGVuZmlsZSgpewoJI2RlZmluZSBOQU1FICJydW4iCglmcmVvcGVuKE5BTUUiLklOUCIsICJyIiwgc3RkaW4pOwoJZnJlb3BlbihOQU1FIi5PVVQiLCAidyIsIHN0ZG91dCk7CQp9CmNvbnN0IGludCBOID0gMWU2ICsgNTsKaW50IGFbTl07CnNpZ25lZCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CglvcGVuZmlsZSgpOwoJaW50IG4sIGwsIGQ7CgljaW4gPj4gbiA+PiBsID4+IGQ7CglmMyhpLCAxLCBuKSBjaW4gPj4gYVtpXTsKCWRlcXVlPGludD4gbWF4RHEsIG1pbkRxOwoJaW50IGkgPSAxLCBhbnMgPSAwOwoJZjMociwgMSwgbikgewoJCXdoaWxlKCFtYXhEcS5lbXB0eSgpICYmIGFbbWF4RHEuYmFjaygpXSA8PSBhW3JdKSB7CgkJCW1heERxLnBvcF9iYWNrKCk7CgkJfQoJCW1heERxLnB1c2hfYmFjayhyKTsKCQl3aGlsZSghbWluRHEuZW1wdHkoKSAmJiBhW21pbkRxLmJhY2soKV0gPj0gYVtyXSkgewoJCQltaW5EcS5wb3BfYmFjaygpOwoJCX0KCQltaW5EcS5wdXNoX2JhY2socik7CgkJd2hpbGUoYVttYXhEcS5mcm9udCgpXSAtIGFbbWluRHEuZnJvbnQoKV0gPiBkKXsKCQkJaWYobWF4RHEuZnJvbnQoKSA9PSBpKSBtYXhEcS5wb3BfZnJvbnQoKTsKCQkJaWYobWluRHEuZnJvbnQoKSA9PSBpKSBtaW5EcS5wb3BfZnJvbnQoKTsKCQkJKytpOwoJCX0KCQlpZihyIC0gaSA+PSBsKXsKCQkJYW5zICs9IHIgLSBpIC0gKGwgLSAxKTsKCQl9Cgl9Cgljb3V0IDw8IGFuczsKfQ==