#include <cstdio>
#include <queue>
#include <iostream>
#include <algorithm>
using namespace std;
queue<int> q;
int n, m, a, chk[100010];
int main()
{
    ios::sync_with_stdio(false);
    freopen(".10.in", "r",stdin);
    freopen(".10.out","w",stdout);
    cin>>n>>m;
    for(int i = 0, t ; i < n ; i++ )
        cin>>t, a+=t;
    q.push(a); chk[a] = 1;
    while( !q.empty() )
    {
        a = q.front(); q.pop();
        if( a == 0 ) return cout<<chk[a]-1, 0;
        int r = n-a;
        for(int i = 0 ; i <= m ; i++ )
            if( r >= m-i and a >= i )
            {
                if( !chk[a-i+(m-i)] ) q.push(a-i+(m-i)), chk[a-i+(m-i)] = chk[a]+1;
            }
    }
    return cout<<-1, 0;
}
