var a:array[1..2000,1..2000]of longint;
f,g:text;
n,m,ii,jj,i,j,aa,b,s:longint;
function max(t1,t2:longint):longint;
begin
if t1>=t2 then max:=t1 else max:=t2;
end;
function min(t1,t2:longint):longint;
begin
if t1<=t2 then min:=t1 else min:=t2;
end;
procedure sum(aa,b,s:longint);
begin
if a[aa,b]=maxlongint then begin
a[aa,b]:=s;
a[b,aa]:=s;
end;
end;
begin
assign(f,'reconst.in');
assign(g,'reconst.out');
reset(f);
rewrite(g);
read(f,n,m);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=maxlongint;
for i:=1 to m do begin
read(f,aa,b,s);
sum(aa,b,s);
end;
for i:=1 to n do
for j:=i to n do
if a[i,j]<>maxlongint then
for ii:=1 to n do
for jj:=ii to n do
if a[ii,jj]<>maxlongint then
begin
if (i=ii) and (j=jj) then else
if i=ii then
sum(max(j,jj),min(j,jj)+1,a[i,max(jj,j)]-a[i,min(jj,j)]) else
if j=jj then
sum(max(i,ii)-1,min(i,ii),a[min(ii,i),j]-a[max(ii,i),j]) else
if jj+1=i then
sum(ii,j,a[ii,jj]+a[i,j]) else
if j+1=ii then
sum(i,jj,a[ii,jj]+a[i,j]) else
if (jj+1<i) and (a[ii,j]<>maxlongint) then
sum(jj+1,i-1,a[ii,j]-a[ii,jj]-a[i,j]) else
if (j+1<ii) and (a[i,jj]<>maxlongint) then
sum(j+1,ii-1,a[i,jj]-a[ii,jj]-a[i,j]) else
if (ii<i) and (jj>i) and (ii<j) and (jj>j) then begin
if a[ii,i-1]<>maxlongint then sum(j+1,jj,a[ii,jj]-a[i,j]-a[ii,i-1]) else
if a[jj,j+1]<>maxlongint then sum(i-1,ii,a[ii,jj]-a[i,j]-a[jj,j+1]);
end else
if (i<ii) and (j>ii) and (i<jj) and (j>jj) then begin
if a[i,ii-1]<>maxlongint then sum(jj+1,j,a[i,j]-a[ii,jj]-a[i,ii-1]) else
if a[j,jj+1]<>maxlongint then sum(ii-1,i,a[i,j]-a[ii,jj]-a[j,jj+1]);
end else
if (ii<i) and (jj>i) and (jj<j) then begin
if a[ii,j]<>maxlongint then sum(i+1,jj-1,a[ii,jj]+a[i,j]-a[ii,j]) else
if a[i+1,jj-1]<>maxlongint then sum(j,ii,a[ii,jj]+a[i,j]-a[i+1,jj-1]);
end else
if (i<ii) and (j>ii) and (j<jj) then begin
if a[i,jj]<>maxlongint then sum(ii+1,j-1,a[i,j]+a[ii,jj]-a[i,jj]) else
if a[ii+1,j-1]<>maxlongint then sum(jj,i,a[i,j]+a[ii,jj]-a[ii+1,j-1]);
end
end;
for i:=1 to n do begin
for j:=i to n do
if a[i,j]<>maxlongint then
break;
sum(i,i,a[i,j] div (j-i+1));
if i<>j then
sum(i+1,j,a[i,j]-a[i,i]);
write(g,a[i,i],' ');
end;
writeln(g);
close(f);
close(g);
end.