#include<iostream>
#include<algorithm>
using namespace std;
int m,n;
int a;
int box[15005];
int A[15005],B[15005],C[15005],D[15005];
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
scanf("%d",&a);
box[a]++;
}
//当且仅当四个魔法值为i,j,k,l的魔法物品满足
//i<j<k<l,
// 不完全转化
//j-i=2(l-k) ==> j+2k-i=2l ---------> (j-i)%2==0
//并且j-i<(k-j)/3 ==> 4j-3i<k时,这四个魔法物品形成了一个魔法阵,
for(int i=1;i<=n;i++)
for(int j=i+2;j<=n;j+=2)//(j-i)%2==0
for(int k=max(j+1,j*4-i*3+1);k<=n;k++)//4j-3i<k
{
int l=(j+2*k-i)/2;//j+2k-i=2l
A[i]+=box[j]*box[k]*box[l];
B[j]+=box[i]*box[k]*box[l];
C[k]+=box[i]*box[j]*box[l];
D[l]+=box[i]*box[j]*box[k];
}
for(int i=1;i<=m;i++)
printf("%d %d %d %d\n",A[i],B[i],C[i],D[i]);
return 0;
}
17个WA,2个TLE(意料之中),1个RE