n, M, K = map(int, input().split()) A = list(map(int, input().split())) if not A: print(0) exit() max_sum = 0 dp = [set() for _ in range(K + 1)] dp[0].add(0) for t in range(1, K + 1): current_sums = set() for s_prev in dp[t-1]: for a in A: s = s_prev + a if s <= M: current_sums.add(s) if current_sums: dp[t] = current_sums max_t = max(current_sums) if max_t > max_sum: max_sum = max_t print(max_sum)