#include <iostream>
#include <cstdio>
#define ll long long
using namespace std;
ll mx[200001<<2],tag[200001<<2];
int n,m,rr,q;

inline void change(int rt,int l,int r,int L,int R,int k)
{
	if(L<=l && r<=R)
	{
		mx[rt]+=k; tag[rt]+=k;
		return;
	}
	int mid=l+r>>1;
	if(L<=mid) change(rt<<1,l,mid,L,R,k);
	if(R>mid) change(rt<<1|1,mid+1,r,L,R,k);
	mx[rt]=max(mx[rt<<1],mx[rt<<1|1])+tag[rt];
}

int main()
{
	scanf("%d%d",&n,&q);
	int rr=1,x,y,k;
	for(int i=1;i<=q;i++)
	{
		scanf("%d%d%d",&x,&y,&k);
		while(rr<y) change(1,1,n,++rr,n,1);
		change(1,1,n,x,y,k);
		printf("%lld\n",mx[1]);
	}
}

