#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")

#include <bits/stdc++.h>

using namespace std ;

const int MAX = 100 + 10 ;

int Sub(int x , int y , int mod)
{
	x -= y ;
	if(x < 0)
		x += mod ;
	return x ;
}

int arr[MAX] ;
int n ;
long long x ;
int dp[2][MAX][MAX] ;

int main()
{
	ios_base::sync_with_stdio(0) ;
	cin.tie(0) ;
	cin>>n>>x ;
	for(int i = 1 ; i <= n ; ++i)
		cin>>arr[i] ;
	long long ans = 4e18 ;
	for(int i = 1 ; i <= n ; ++i)
	{
		for(int k = 0 ; k < i ; ++k)
		{
			for(int x = 0 ; x <= i ; ++x)
				dp[0][k][x] = dp[1][k][x] = -2e9 ;
		}
		dp[0][0][0] = 0 ;
		for(int j = 1 ; j <= n ; ++j)
		{
			bool now = j & 1 ;
			bool prv = !now ;
			for(int k = 0 ; k < i ; ++k)
			{
				dp[now][k][0] = dp[prv][k][0] ;
				for(int x = 1 ; x <= i ; ++x)
				{
					dp[now][k][x] = max(dp[prv][k][x] , dp[prv][Sub(k , arr[j] % i , i)][x-1] + arr[j]) ;
				}
			}
		}
		if(dp[n&1][x%i][i] >= 0)
			ans = min(ans , (x - dp[n&1][x%i][i]) / (i * 1ll)) ;
	}
	return cout<<ans<<"\n" , 0 ;
}		
#include <bits/stdc++.h>
using namespace std;
const long long MOD=998244353;
vector<long long> fact, fact_inv, inv;
void init_nCk(int n){
    fact.resize(n+54);
    fact_inv.resize(n+54);
    inv.resize(n+54);
    fact[0]=fact[1]=fact_inv[0]=fact_inv[1]=inv[1]=1;
    for(int i=2;i<n+54;i++){
        fact[i]=(fact[i-1]*i)%MOD;
        inv[i]=MOD-(inv[MOD%i]*(MOD/i))%MOD;
        fact_inv[i]=(fact_inv[i-1]*inv[i])%MOD;
    }
}
int nCk(int n,int k){
    return fact[n]*((fact_inv[k]*fact_inv[n-k])%MOD)%MOD;
}
int main(){
  #define int long long
  int N,K;
  cin>>N>>K;
  vector<int> A(N),a(N),b(N,1),vec(K+1);
  for(int i=0;i<N;i++){
    cin>>A.at(i);
    a.at(i)=2*A.at(i);
  }
  for(int i=0;i<=K;i++){
    int sum=0;
    for(int j=0;j<N;j++){
      sum+=b.at(j);
      sum%=MOD;
      b.at(j)*=A.at(j);
      b.at(j)%=MOD;
    }
    vec.at(i)=sum;
  }
  init_nCk(250);
  for(int i=1;i<=K;i++){//X
    int sum=0;
    for(int j=0;j<=i;j++){//k
      sum+=(((nCk(i,j)*vec.at(j))%MOD)*vec.at(i-j))%MOD;
      sum%=MOD;
    }
    for(int j=0;j<N;j++){
      sum-=a.at(j)-MOD;
      a.at(j)*=2*A.at(j);
      sum%=MOD;
      a.at(j)%=MOD;
    }
    if(sum%2==0){cout<<sum/2<<endl;}
    else{cout<<(sum+MOD)/2<<endl;}
  }
}