#include<bits/stdc++.h>
#define MAXN 200007
using namespace std;

int s[MAXN];
long long n,L;

bool check(int k){

    int cnt[3]={0,0,0};
    long long len=0;

    for(int i=1;i<=k;i++){
        cnt[s[i]%3]++;
        len+=s[i];
    }

    int mins=min(cnt[1],cnt[2]);
    cnt[1]-=mins;
    cnt[2]-=mins;

    len+=cnt[1]/2+cnt[1]%2;
    len+=cnt[2];

    return len <= 3*L;
}

int bin(){
    int l=0,r=n+1,tt;

    while(l+1<r){
        tt=(l+r)/2;
        if(check(tt)){
            l=tt;
        }else{
            r=tt;
        }
    }

    return l;
}

int main(){

    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin>>n>>L;

    if(L<=2 or n<=2){
        cout<<min(n,L)<<"\n";
        return 0;
    }

    for(int i=1;i<=n;i++){
        cin>>s[i];
    }

    sort(s+1,s+n+1);
    n-=2; L-=2;

    cout<<bin()+2<<"\n";

    return 0;
}