#include<stdio.h>
#include<math.h>
#define MaxSize 100
int main() {
    int i, j, A[MaxSize] = {0}, B[MaxSize] = {0}, m, n, p, sum, cnt, min = 999;
    for (i = 0; i < MaxSize; i++)A[i] = B[i] = 0;
    scanf("%d %d", &m, &n);
    for (i = 0; i < n; i++)scanf("%d", &B[i]);
    p = pow(2, n);
    for (i = 0; i < p; i++) {
        sum = 0;
        cnt = 0;
        for (j = 0; j < n; j++)A[j] = 0;
        A[n - 1] = i;
        for (j = n - 1; j > 0; j--) {
            if (A[j] >= 2) {
                A[j - 1] += A[j] / 2;
                A[j] = A[j] % 2;
            }
        }
        //for(j=0;j<n;j++)printf("%d",A[j]);
        //for(j=0;j<n;j++)A[j]=0;
        for (j = 0; j < n; j++) {
            if (A[j] == 1) {
                sum += B[j];
                cnt++;
            }
        }
        if (sum == m) {
            if (min > cnt)min = cnt;
        }
    }
    if (min == 999)min = 0;
    printf("%d", min);
}