#include<iostream>
using namespace std;
int d[51][1010]; //能到达就1,否则就0
int main()
{
int n,begin,maxn;
cin>>n>>begin>>maxn;
d[0][begin]=1;
for (int i=1;i<=n;i++) //前i个物品能不能到达最大音量j
{
int c;
cin>>c;
for (int j=0;j<=maxn;j++)
{
if (d[i-1][j]&&j-c>=0) d[i][j-c]=1; //必须保证在前i-1件物品不会越界才考虑第i件,第i件可以加c也可以减c
if (d[i-1][j]&&j+c<=maxn) d[i][j+c]=1;
}
}
for (int j=maxn;j>=0;j--)
if (d[n][j])
{
cout<<j;
return 0;
}
printf ("-1");
return 0;
}