const input = require('fs').readFileSync('/dev/stdin', 'utf8');

const list = input.trim().split('\n');
let [ n, m ] = list[0].split(' ');
n = Number(n);
m = Number(m);
let cm = list[1].trim().split(' ');
cm = cm.map(c => Number(c));

const dp = new Map();
dp.set(n, 0);
for (let yen = n, min = 0; yen >= 0; yen--) {
  if (!dp.has(yen)) {
    continue;
  }

  min = Math.min(dp.get(yen), min);
  dp.set(yen, min);
  if (yen === 0) {
    break;
  }

  min = min + 1;
  for (let i = 0; i < m; i++) {
    const afterYen = yen - cm[i];
    if (afterYen < 0) {
      continue;
    }
    const afterMin = dp.has(afterYen) ? Math.min(dp.get(afterYen), min) : min;
    dp.set(afterYen, afterMin);
  }
}

console.log(dp.get(0));

