#include <bits/stdc++.h>
using namespace std;
//
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
//
const int maxn = 1e5 + 5;
const short int S = 320;
//
int n, q;
long long A[maxn], diff[S][maxn];
//
void process (void)
{
    cin >> n >> q;
    for (int l, r, d; q--;)
    {
        cin >> l >> r >> d;
        if (d < S)
        {
            int k = (r - l) / d + 1;
            //
            ++diff[d][l];
            if (r + d <= n)
                diff[d][r + d] -= k + 1;
            if (r + d * 2 <= n)
                diff[d][r + d * 2] += k;
        }
        else
            for (int j = 1, i = l; i <= r; i += d, ++j)
                A[i] += j;
    }

    for (int d = 1; d < S; ++d)
    {
        for (int i = d + 1; i <= n; ++i)
        {
            diff[d][i] += diff[d][i - d];
            if (i > d * 2)
                diff[d][i - d] += diff[d][i - d * 2];
        }
        for (int i = max(d, n - d) + 1; i <= n; ++i)
            diff[d][i] += diff[d][i - d];
        for (int i = 1; i <= n; ++i)
            A[i] += diff[d][i];
    }

    for (int i = 1; i <= n; ++i)
        cout << A[i] << ' ';
}
//
signed main (void)
{
    ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
    process();
}