부분합

시간 제한1초메모리 제한128 MB

문제

마이아는 정확히 $n$ 마이크로리터의 우유를 사고 싶습니다. 하지만 동네 가게에는 그 크기의 봉지가 없어서, 여러 봉지를 사서 합쳐야 합니다. 정확히 $n$ 마이크로리터를 맞추는 것이 불가능할 수도 있는데, 그럴 때 마이아는 조금 더 사는 것은 괜찮지만 남는 양을 최대한 줄이고 싶어 합니다.

가게는 $m$ 가지 크기의 봉지를 팝니다. 마이아는 같은 크기의 봉지를 두 개 사는 것을 싫어해서, 각 봉지는 최대 한 번만 고를 수 있습니다. 파는 봉지 중 일부를 골라 마이아가 적어도 $n$ 마이크로리터를 사되, 사게 되는 총량을 가능한 한 작게 만드세요.

입력

첫 번째 줄에 두 정수 $n$과 $m$이 주어집니다 ($0 \le n \le 1000000000$, $0 < m \le 20$). 각각 마이아가 원하는 우유의 마이크로리터 수와 가게가 파는 봉지 크기의 개수입니다.

이어지는 $m$개의 줄에는 각각 정수 $a$가 하나씩 주어집니다 ($0 \le a \le 1000000000$). 가게가 파는 봉지 하나의 크기(마이크로리터)입니다.

출력

각 봉지를 최대 한 번만 사용하여 마이아가 적어도 $n$ 마이크로리터를 갖게 되는 데 필요한 최소 총 마이크로리터 수를 정수 하나로 출력하세요. 적어도 $n$ 마이크로리터를 만들 수 없다면 대신 IMPOSSIBLE을 출력하세요.