#include <bits/stdc++.h>
using namespace std;
int solve(vector<int>& a , int k){
int n = a.size();
int minLen = INT_MAX;
unordered_map<int,int>mpp;
mpp[a[0]] = 0;
for(int j=1;j<n;j++){
int target = k - a[j];
if(mpp.count(target)){
int len = j-mpp[target]+1;
minLen = min(minLen,len);
}
mpp[a[j]] = j;
}
return (minLen==INT_MAX)? -1 : minLen;
}
int main() {
int n;
cin>>n;
vector<int>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
int k;
cin>>k;
cout<<solve(a,k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgc29sdmUodmVjdG9yPGludD4mIGEgLCBpbnQgayl7CglpbnQgbiA9IGEuc2l6ZSgpOwoJaW50IG1pbkxlbiA9IElOVF9NQVg7Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXBwOwoJbXBwW2FbMF1dID0gMDsKCWZvcihpbnQgaj0xO2o8bjtqKyspewoJCWludCB0YXJnZXQgPSBrIC0gYVtqXTsKCQlpZihtcHAuY291bnQodGFyZ2V0KSl7CgkJCWludCBsZW4gPSBqLW1wcFt0YXJnZXRdKzE7CgkJCW1pbkxlbiA9IG1pbihtaW5MZW4sbGVuKTsKCQl9CgkJbXBwW2Fbal1dID0gajsKCX0KCXJldHVybiAobWluTGVuPT1JTlRfTUFYKT8gLTEgOiBtaW5MZW47Cn0KCmludCBtYWluKCkgewoJaW50IG47CgljaW4+Pm47Cgl2ZWN0b3I8aW50PmEobik7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljaW4+PmFbaV07Cgl9CglpbnQgazsKCWNpbj4+azsKCQoJY291dDw8c29sdmUoYSxrKTsKCXJldHVybiAwOwp9