N, K = map(int, input().split()) A = [int(input()) for _ in range(N)] DP = [[False] * (K + 1) for _ in range(N + 1)] DP[0][0] = True for i in range(N): for j in range(K + 1): if DP[i][j]: DP[i + 1][j] = True if j + A[i] <= K: DP[i + 1][j + A[i]] = True for j in range(K, -1, -1): if DP[-1][j]: exit(print(j))