90分
#include<bits/stdc++.h>
using namespace std;
#define maxn 15005
inline int read()
{
bool nev= false;
int num= 0;
char ch = getchar();
while(ch<'0' || ch>'9')
{
if(ch=='-')
nev=true;
ch=getchar();
}
while(ch>='0' && ch<='9')
{
num=(num<<1)+(num<<3)+(ch^48);
ch=getchar();
}
if(nev) num=~num+1;
return num;
}
inline void write(const int& x)
{
if(x<0)
{
putchar('-');
write(-x);
}
if(x<10) putchar(x+48);
else
{
write(x/10);
putchar(x%10+48);
}
}
int n,m,x[maxn],ans[maxn][5],a[40005];
int main()
{
n=read(),m=read();
for(register int i(1);i<=m;++i)
{
a[i]=read();
++x[a[i]];
}
for(register int len(2);(len*9)>>1 <=n;len+=2)
{
int a(len>>1);
for(register int xa(1);xa<=n-a*9;++xa)
{
int xb(xa+len);
if(x[xa]&&x[xb])
{
for(register int xc(xa+len*4+1);xc<=n-a;++xc)
{
int xd(xc+a);
if(x[xd]&&x[xc])
{
ans[xa][1]+=x[xb]*x[xc]*x[xd];
ans[xb][2]+=x[xa]*x[xc]*x[xd];
ans[xc][3]+=x[xa]*x[xb]*x[xd];
ans[xd][4]+=x[xa]*x[xb]*x[xc];
// cout<<xa<<" "<<xb<<" "<<xc<<" "<<xd<<"aaaaa"<<endl;
}
}
}
}
}
for(int i(1);i<=m;++i)
{
write(ans[a[i]][1]);
fputs(" ",stdout);
write(ans[a[i]][2]);
fputs(" ",stdout);
write(ans[a[i]][3]);
fputs(" ",stdout);
write(ans[a[i]][4]);
fputs("\n",stdout);
}
return 0;
}