#include <bits/stdc++.h>
using namespace std;
bool checkDuplicate(vector<int>& a, int k) {
unordered_map<int, int> mpp; // Stores the last index of each element
for (int i = 0; i < a.size(); i++) {
if (mpp.count(a[i]) && abs(mpp[a[i]] - i) <= k) {
return true;
}
mpp[a[i]] = i; // Update the last occurrence index
}
return false;
}
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int k;
cin >> k;
cout << (checkDuplicate(arr, k) ? "True" : "False");
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGNoZWNrRHVwbGljYXRlKHZlY3RvcjxpbnQ+JiBhLCBpbnQgaykgewogICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gbXBwOyAgLy8gU3RvcmVzIHRoZSBsYXN0IGluZGV4IG9mIGVhY2ggZWxlbWVudAoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYS5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChtcHAuY291bnQoYVtpXSkgJiYgYWJzKG1wcFthW2ldXSAtIGkpIDw9IGspIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIG1wcFthW2ldXSA9IGk7IC8vIFVwZGF0ZSB0aGUgbGFzdCBvY2N1cnJlbmNlIGluZGV4CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIHZlY3RvcjxpbnQ+IGFycihuKTsKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgfQogICAgCiAgICBpbnQgazsKICAgIGNpbiA+PiBrOwogICAgCiAgICBjb3V0IDw8IChjaGVja0R1cGxpY2F0ZShhcnIsIGspID8gIlRydWUiIDogIkZhbHNlIik7CiAgICByZXR1cm4gMDsKfQo=