#include <bits/stdc++.h>
using namespace std;
const long long int N = 1e5 + 5;
map<long long int, long long int> m;
long long int n, ans;
void init() {
  m[-1] = -1;
  m[2e9] = 2e9;
  m[1] = n;
  ans = n;
}
void add(long long int l, long long int r) {
  m[l] = r;
  ans += r - l + 1;
}
void remove(long long int l, long long int r) {
  long long int rem = 0;
  auto it = m.lower_bound(l);
  it--;
  if (it->second >= l) {
    m[l] = it->second;
    it->second = l - 1;
  }
  it++;
  while (it->first <= r) {
    if (it->second > r) {
      rem += r + 1 - it->first;
      m[r + 1] = it->second;
    } else
      rem += it->second - it->first + 1;
    auto it2 = it;
    it++;
    m.erase(it2);
  }
  ans -= rem;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int q;
  cin >> n >> q;
  init();
  while (q--) {
    long long int l, r, k;
    cin >> l >> r >> k;
    remove(l, r);
    if (k == 2) add(l, r);
    cout << ans << '\n';
  }
}
