#include <iostream>
#include <vector>
using namespace std;
int liczba=0,ilosc=0,wysokosc=0,suma=0, liczba2=0, element=0, j=0;
bool b;
vector <int> v;
int check(int x, int liczba2)
{
if(x==-1) return 0;
if(v[x]<=liczba2)
{
liczba2 -= v[x];
if(liczba2==0) return 1;
check(x-1,liczba2);
}
else check(x-1,liczba2);
}
main()
{
ios_base::sync_with_stdio(0);
while(cin >> liczba)
{
cin >> ilosc;
if(liczba>0 && ilosc==0) b=false;
else
if(liczba==0 && ilosc==0) b=true;
else
{
for(j=0; j<ilosc; j++)
{
cin >> wysokosc;
if(wysokosc<=liczba) { v.push_back(wysokosc); suma += wysokosc; element++;}
}
if(suma==liczba) b=true;
else
if(suma<liczba) b=false;
else
{
for(j=element-1; j>=0; j--)
{
liczba2=liczba;
if(j==0) { b=false; break; }
if(check(j,liczba2)==1) { b=true; break; }
}
}
}
cout << b ;
cout <<endl;
liczba=0,ilosc=0,wysokosc=0,suma=0,liczba2=0, element=0, j=0;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbGljemJhPTAsaWxvc2M9MCx3eXNva29zYz0wLHN1bWE9MCwgbGljemJhMj0wLCBlbGVtZW50PTAsIGo9MDsKYm9vbCBiOwp2ZWN0b3IgPGludD4gdjsKaW50IGNoZWNrKGludCB4LCBpbnQgbGljemJhMikKewogICAgaWYoeD09LTEpIHJldHVybiAwOwogICAgaWYodlt4XTw9bGljemJhMikKICAgIHsKICAgICAgICBsaWN6YmEyIC09IHZbeF07CiAgICAgICAgaWYobGljemJhMj09MCkgcmV0dXJuIDE7CiAgICAgICAgY2hlY2soeC0xLGxpY3piYTIpOwogICAgfQogICAgICAgIGVsc2UgY2hlY2soeC0xLGxpY3piYTIpOwp9CgptYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKd2hpbGUoY2luID4+IGxpY3piYSkKewpjaW4gPj4gaWxvc2M7CiAgICBpZihsaWN6YmE+MCAmJiBpbG9zYz09MCkgYj1mYWxzZTsKICAgIGVsc2UKICAgICAgICBpZihsaWN6YmE9PTAgJiYgaWxvc2M9PTApIGI9dHJ1ZTsKICAgICAgICBlbHNlCnsKICAgICAgICBmb3Ioaj0wOyBqPGlsb3NjOyBqKyspCiAgICAgICAgewogICAgICAgIGNpbiA+PiB3eXNva29zYzsKICAgICAgICAgICAgICAgIGlmKHd5c29rb3NjPD1saWN6YmEpIHsgdi5wdXNoX2JhY2sod3lzb2tvc2MpOyAgc3VtYSArPSB3eXNva29zYzsgZWxlbWVudCsrO30KICAgICAgICAgfQogICAgaWYoc3VtYT09bGljemJhKSBiPXRydWU7CiAgICAgICAgZWxzZQogICAgaWYoc3VtYTxsaWN6YmEpIGI9ZmFsc2U7CmVsc2UKICAgIHsKICAgICAgICBmb3Ioaj1lbGVtZW50LTE7IGo+PTA7IGotLSkKICAgICAgICB7CiAgICAgICAgICAgIGxpY3piYTI9bGljemJhOwogICAgICAgICAgICBpZihqPT0wKSB7IGI9ZmFsc2U7IGJyZWFrOyB9CiAgICAgICAgICAgICAgICAgICAgaWYoY2hlY2soaixsaWN6YmEyKT09MSkgeyBiPXRydWU7IGJyZWFrOyB9CiAgICAgICAgfQogICAgfQp9CmNvdXQgIDw8IGIgOwpjb3V0IDw8ZW5kbDsKbGljemJhPTAsaWxvc2M9MCx3eXNva29zYz0wLHN1bWE9MCxsaWN6YmEyPTAsIGVsZW1lbnQ9MCwgaj0wOwp9CnJldHVybiAwOwp9