성공의 열쇠

시간 제한3초메모리 제한256 MB

문제

한 방송 게임 쇼에서 우승자에게 줄 상품 세트를 준비한다. 우승자의 점수가 $X$이면, 우승자는 준비된 상품들 중에서 값의 합이 정확히 $X$달러가 되는 부분집합을 골라 받아야 한다.

주최 측은 이미 값이 각각 $a_1, a_2, \dots, a_n$달러인 여분의 상품 $n$개를 가지고 있다. 우승자의 점수를 미리 알 수 없으므로 주최 측은 상품 $m$개를 추가로 구매한다. 목표는, 우승자가 받을 수 없는 가장 작은 양의 정수 점수를 최대로 만들도록 이 $m$개의 상품을 고르는 것이다. 여기서 '받을 수 없는 점수'란, (이미 가진 상품과 새로 산 상품을 합친) 모든 상품의 어떤 부분집합의 합으로도 만들 수 없는 가장 작은 양의 정수를 뜻한다.

예를 들어 이미 $2$, $3$, $9$달러짜리 상품을 가지고 있고 $2$개를 더 살 수 있다고 하자. $1$달러와 $7$달러짜리 상품을 사면 우승자는 $1$부터 $22$까지 모든 점수의 상품을 받을 수 있으므로, 받을 수 없는 가장 작은 점수는 $23$이 되며, 이보다 더 좋은 선택은 없다. 이렇게 얻을 수 있는 '받을 수 없는 가장 작은 점수'의 최댓값을 출력하라.

입력

첫째 줄에 정수 두 개 $n$과 $m$이 주어진다. $n$은 주최 측이 이미 가지고 있는 상품의 수, $m$은 추가로 구매할 상품의 수이다 ($0 \le n \le 30$, $1 \le m \le 30$).

둘째 줄에는 이미 가지고 있는 상품의 값 $a_1, \dots, a_n$이 주어진다 ($1 \le a_i \le 10^9$). $n = 0$이면 둘째 줄은 비어 있다.

출력

정수 하나를 출력한다. $m$개의 상품을 사는 모든 방법 중에서, 우승자가 받을 수 없는 가장 작은 양의 정수 점수가 가질 수 있는 최댓값이다.