#include
#include
#include
using namespace std;
int coinschange(int *coins, int n, int m, set<vector>&s, vectorout){
if(n==0){
if(s.find(out)!=s.end())
return 0;
s.insert(out);
return 1;
}
if(n<0){
return 0;
}
int ans=0;
for(int i=0; i<m; i++){
out.push_back(coins[i]);
ans+=coinschange(coins,n-coins[i],m,s,out);
out.pop_back();
}
return ans;
}
int main(){
int n;
cin>>n;
int m;
cin>>m;
int coins[m];
for(int i=0; i<m; i++){
cin>>coins[i];
}
set<vector<int>>s;
vector<int>out;
cout<<coinschange(coins,n,m,s,out);
return 0;
}