#include <bits/stdc++.h>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <math.h>
using namespace std;

int main(void){
    int N,X;
    cin >> N >> X;
    vector<int> A(N);
    for(int i=0;i<N;i++){
        cin >> A[i];
    }
    sort(A.begin(),A.end());
    int ans=0;
    for(int i=0;i<N;i++){
        if(i==N-1){
            if(A[i]==X){
                ans++;
            }
            X-=X;
        }
        if(A[i]<=X){
            X -= A[i];
            ans++;
        }else{
            cout << ans << endl;
            return 0;
        }
    }
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ll long long

int main() {
  int k,t;
  cin >> k >> t;
  int ma=0;
  rep(i,t){
    int u;
    cin >> u;
    ma=max(ma,u);
  }
  if(ma>(k*1)/2){
    cout << k-1-(k-ma)*2 << endl;
  }
  else cout << 0 << endl;
}
