#include<bits/stdc++.h>
using namespace std;
int coins[100];
int amount,n;
int dp[100][1000];
int Coin_Change_Iter(int i,int amount)
{
for(int j=0;j<=amount;j++)
{
dp[n][j]=1000000000;
}
for(int i=0;i<=n;i++)
{
dp[i][0]=0;
}
for(int i=n-1;i>=0;i--)
{
for(int j=1;j<=amount;j++)
{
if(j>=coins[i])
{
dp[i][j]=min(1+dp[i+1][j-coins[i]],dp[i+1][j]);
}
else
{
dp[i][j]=dp[i+1][j];
}
}
}
return dp[0][amount];
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>coins[i];
}
cin>>amount;
int min_coins_Iter=Coin_Change_Iter(0,amount);
cout<<min_coins_Iter<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvaW5zWzEwMF07CmludCBhbW91bnQsbjsKaW50IGRwWzEwMF1bMTAwMF07CmludCBDb2luX0NoYW5nZV9JdGVyKGludCBpLGludCBhbW91bnQpCnsKZm9yKGludCBqPTA7ajw9YW1vdW50O2orKykKewpkcFtuXVtqXT0xMDAwMDAwMDAwOwp9CmZvcihpbnQgaT0wO2k8PW47aSsrKQp7CmRwW2ldWzBdPTA7Cn0KZm9yKGludCBpPW4tMTtpPj0wO2ktLSkKewpmb3IoaW50IGo9MTtqPD1hbW91bnQ7aisrKQp7CmlmKGo+PWNvaW5zW2ldKQp7CmRwW2ldW2pdPW1pbigxK2RwW2krMV1bai1jb2luc1tpXV0sZHBbaSsxXVtqXSk7Cn0KZWxzZQp7CmRwW2ldW2pdPWRwW2krMV1bal07Cn0KfQp9CnJldHVybiBkcFswXVthbW91bnRdOwp9CgppbnQgbWFpbigpCnsKY2luPj5uOwpmb3IoaW50IGk9MDtpPG47aSsrKQp7CmNpbj4+Y29pbnNbaV07Cn0KY2luPj5hbW91bnQ7CgppbnQgbWluX2NvaW5zX0l0ZXI9Q29pbl9DaGFuZ2VfSXRlcigwLGFtb3VudCk7CmNvdXQ8PG1pbl9jb2luc19JdGVyPDxlbmRsOwp9Cg==