#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 1;
const int M = 1e9 + 7;
const double eps = 1e-6;
int n, k, x;
bitset<2001> d[2];
int f[1001];
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n >> k;
  for (int i = (1); i <= (k); i++) {
    cin >> x;
    f[x] = 1;
  }
  d[0][1000] = 1;
  int t = 0;
  for (int i = 1; i <= 1000; i++) {
    d[t ^ 1].reset();
    for (int j = (0); j <= (1000); j++)
      if (f[j]) d[t ^ 1] |= (d[t] << j) >> n;
    t ^= 1;
    if (d[t][1000]) {
      cout << i << endl;
      return 0;
    }
  }
  cout << -1;
}
