#include<bits/stdc++.h>
#define lli long long int
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    lli n,x,i;
    cin>>n>>x;
    string s;
    cin>>s;
    for(i=0;i<s.size();i++)
    {
        if(s[i]=='x' && x>0)
         x=x-1;
        if(s[i]=='o')
         x=x+1;
    }
    cout<<x<<"\n";
}
#include <bits/stdc++.h>
using namespace std;
using LL=long long;
using ULL=unsigned long long;
#define rep(i,n) for(int i=0; i<(n); i++)

void chmax(LL&l,LL r){ if(l<r) l=r; }

int N;
LL X;
LL A[100];

LL dp[101][100];
void solvedp(int K){
  rep(n,K+1) rep(k,K) dp[n][k]=-1000000000000;
  dp[0][0]=0;
  rep(i,N){
    int dk=A[i]%K;
    for(int n=K-1; n>=0; n--) rep(k,K){
      int to_k=k+dk; if(to_k>=K) to_k-=K;
      chmax(dp[n+1][to_k],dp[n][k]+A[i]);
    }
  }
}

int main(){
  cin>>N>>X;
  rep(i,N) cin>>A[i];
  LL ans=X;
  for(int K=1; K<=N; K++){
    solvedp(K);
    if(dp[K][X%K]<0) continue;
    ans=min(ans,(X-dp[K][X%K])/K);
  }
  cout<<ans<<endl;
  return 0;
}