 #include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1000001;
int n,l,t,x,w,m,ans[maxn],len[maxn],q,c[maxn];
void work(int x,int val)
{
	if(!x)return;
	int pos=upper_bound(len+1,len+m,x)-len-1;
	if(pos==0)c[1]+=val,c[x+1]-=val;
	else ans[pos]+=(x/len[pos])*val,work(x%len[pos],val);
}
signed main()
{
    cin>>n>>q;
    len[++m]=n;
    for(int i=1;i<=q;i++)
    {
    	cin>>x;
    	while(m&&len[m]>=x)m--;	
    	len[++m]=x;
	}
	ans[m]=1;
	for(int i=m;i>=2;i--)
	{
		ans[i-1]+=ans[i]*(len[i]/len[i-1]);
		work(len[i]%len[i-1],ans[i]);
	}
    c[1]+=ans[1],c[len[1]+1]-=ans[1];
    for(int i=1;i<=n;i++)c[i]+=c[i-1],cout<<c[i]<<" ";
    
}