func_code_string: #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 ;     }   }   