#include <iostream>
#include <algorithm>
using namespace std;
// 1059 좋은구간
// Created by polcomicepute
int main(){
int S[50];
int L=0, n=0;
int prev=0, next=0, res=0, A=0, B=0;
cin >> L; // 1<= L <=50
for(int i=0; i<L; i++){
scanf("%d", &S[i]);
}
cin >> n; // 1<= n <= maxS
// 1. 정렬
sort(S, S+L);
// 2. -1, +1 찾기
for(int i=0; i<L; i++){
if (S[i] > n){
if (i ==0){
// S의 최소가 n보다 큰 경우, 좋은구간이 가능한 범위: [1, S의최소-1]
// -> 이걸 생각못해서 겁나 틀림 ㅜㅜㅜ A, B둘다 양의정수 일뿐
next = S[i];
A=1;
}
else{
next = S[i];
prev = S[i-1];
A=prev+1;
}
break;
}
else if (S[i]==n){
cout << 0 << endl;
return 0;
}
}
// 3. 개수 구하기
B = next;
while (A <= n){
for(int p =A; p<B; p++){
if ((p<n) || ((p==A)&&(A==n))){
// 끝이 n보다 작으면, n 포함못하니까 pass
// start와 n이 같으면, [n,n]이니까 p==n 일때 제외해야함
continue;}
else{
// cout<< "[" << A << "," << p << "]"<< endl;
res++;
}
}
A ++;
}
cout << res << endl;
return 0;
}