import java.util.Collection;
import java.util.Arrays;
import java.util.Scanner;
public class MAin {
private static int n;
private static int[] niza;
private static int[] dp;
static int rec(int x) {
if(x == 0) {
return 0;
}
if(dp[x] != -1) {
return dp[x];
}
int result = (int) 2e9;
for(int i = 0; i < n; i++) {
if(x - niza[i] >= 0) {
result = Math.min(result, rec(x - niza[i]) + 1);
}
}
dp[x] = result;
return result;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
niza = new int[n];
for(int i = 0; i < n; i++) {
niza[i] = sc.nextInt();
}
int suma = sc.nextInt();
dp = new int[suma + 1];
for(int i = 0; i <= suma; i++) {
dp[i] = -1; // ova ni kazuva deka ovaa rekurzija ne e presmetana
}
System.out.println(rec(suma));
}
}
// 50- 10 - 20 = 20
// 60 + 100 +