#include<bits/stdc++.h>
using namespace std;
int coins[100];
int n,amount;
int dp[100][1000];
int coin_iter(int i,int amount)
{
for(int j=0;j<=amount;j++)
{
dp[n][j]=1000;
}
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=coin_iter(0,amount);
cout<<min_coins<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvaW5zWzEwMF07CmludCBuLGFtb3VudDsKaW50IGRwWzEwMF1bMTAwMF07CmludCBjb2luX2l0ZXIoaW50IGksaW50IGFtb3VudCkKewpmb3IoaW50IGo9MDtqPD1hbW91bnQ7aisrKQp7CmRwW25dW2pdPTEwMDA7Cn0KZm9yKGludCBpPTA7aTw9bjtpKyspCnsKZHBbaV1bMF09MDsKfQpmb3IoaW50IGk9bi0xO2k+PTA7aS0tKQp7CmZvcihpbnQgaj0xO2o8PWFtb3VudDtqKyspCnsKaWYoaj49Y29pbnNbaV0pCnsKZHBbaV1bal09bWluKDErZHBbaSsxXVtqLWNvaW5zW2ldXSxkcFtpKzFdW2pdKTsKfQplbHNlCnsKZHBbaV1bal09ZHBbaSsxXVtqXTsKfQp9Cn0KcmV0dXJuIGRwWzBdW2Ftb3VudF07Cn0KaW50IG1haW4oKQp7CmNpbj4+bjsKZm9yKGludCBpPTA7aTxuO2krKykKewpjaW4+PmNvaW5zW2ldOwp9CmNpbj4+YW1vdW50OwppbnQgbWluX2NvaW5zPWNvaW5faXRlcigwLGFtb3VudCk7CmNvdXQ8PG1pbl9jb2luczw8ZW5kbDsKfQ==