#include<cstdio>
#include<set>
using namespace std;
#define ll long long
ll read()
{
	ll x;char c;
	while((c=getchar())<'0'||c>'9');
	for(x=c-'0';(c=getchar())>='0'&&c<='9';)x=x*10+c-'0';
	return x;
}
#define MN 100000
ll q[MN+5],ans[MN+5];
multiset< pair<ll,ll> > st;
int main()
{
	int n,i;ll s;
	set< pair<ll,ll> >::iterator it,tt;
	q[0]=read();n=read();
	for(i=1;i<=n;++i)q[i]=read();
	st.insert(make_pair(q[n],1));
	for(i=n;i--;)
	{
		for(s=0,it=st.end(),--it;it->first>q[i];)
		{
			s+=it->first/q[i]*it->second;
			st.insert(make_pair(it->first%q[i],it->second));
			tt=it;--it;st.erase(tt);
		}
		st.insert(make_pair(q[i],s));
	}
	for(it=st.begin();it!=st.end();++it)ans[it->first]+=it->second;
	for(i=q[0];--i;)ans[i]+=ans[i+1];
	for(i=1;i<=q[0];++i)printf("%lld\n",ans[i]);
}