#include <algorithm>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int n, be, mimi, s[60];
bool dp[2][1010];
int main() {
cin >> n >> be >> mimi;
for (int i = 0; i < n; i++) cin >> s[i];
dp[0][be] = true;
for (int i = 0; i < n; i++)
for (int j = mimi; j >= 0; j--)
if (j - s[i] >= 0)
if (j + s[i] <= mimi)
dp[(i + 1) & 1][j] = dp[i & 1][j - s[i]] || dp[i & 1][j + s[i]];
else
dp[(i + 1) & 1][j] = dp[i & 1][j - s[i]];
else if (j + s[i] <= mimi)
dp[(i + 1) & 1][j] = dp[i & 1][j + s[i]];
else
dp[(i + 1) & 1][j] = false;
for(int i = mimi; i >= 0; i--)
if(dp[n & 1][i]){
cout << i;
return 0;
}
cout<<-1;
return 0;
}