100 1
1000000 100 1000
 5 3
1 4 10
2 2 5
3 1 6
 10 4
1 5 20
2 5 200
100 6 20
101 1 100
 5 3
1 3 4
4 3 4
6 4 1
 4 1
6 1 1
 8 6
1 3 20
4 2 1
6 6 5
9 1 1
15 3 6
21 8 8
 4 5
1 2 3
2 1 3
3 1 2
4 3 3
5 4 1
 8 4
1 3 2
2 3 100
10 6 20
11 5 20
 4 10
1 1 1
3 1 2
4 1 2
6 1 2
8 1 2
13 1 2
16 1 1
17 1 2
19 3 1
20 1 1
 5 3
1 4 4
4 2 2
5 5 2
 4 3
1 3 10
2 2 15
12 4 1
 5 4
1 1 4
2 4 4
5 2 20
11 5 2
 1 10
4 1 1
9 1 1
10 1 1
12 1 1
13 1 1
15 1 1
16 1 1
18 1 1
19 1 1
20 1 1

5050
 10
-1
5
 15
40
-1
1
 6
-1
10
 1
 6
9
-1
4
15
36
 3
3
4
-1
10
 6
15
-1
21
 1
1
2
1
1
1
1
1
6
1
 10
-1
15
 6
-1
10
 1
14
-1
15
 1
1
1
1
1
1
1
1
1
1

#include <bits/stdc++.h>
using namespace std;
const int INF = (int)1e9;
const long long INF64 = (long long)1e18;
#pragma comment(linker, "/STACK:16777216")
#pragma warning(disable : 4786)
int Set(int N, int pos) { return N = N | (1 << pos); }
int Reset(int N, int pos) { return N = N & ~(1 << pos); }
bool check(int N, int pos) { return (bool)(N & (1 << pos)); }
double dis(int x1, int y1, int x2, int y2) { return hypot(x1 - x2, y1 - y2); }
long long GCD(long long a, long long b) {
  if (b == 0) return a;
  return GCD(b, a % b);
}
long long LCM(long long a, long long b) { return (a / GCD(a, b)) * b; }
int ans, sum, t, n, k, m, flag[1000000 + 6];
pair<int, int> ar[123];
int exist[123], cr;
std::vector<int> v[1000000 + 6];
int dx[] = {0, 1, -1, 0, 0};
int dy[] = {0, 0, 0, 1, -1};
int main() {
  cin >> n >> k;
  int x, y, z, id;
  for (int i = 1; i <= k; i++) {
    scanf("%d", &x);
    scanf("%d", &y);
    scanf("%d", &z);
    flag[x] = i;
    ar[i] = make_pair(y, z);
  }
  cr = n;
  for (int i = 1; i <= n; i++) exist[i] = 1;
  for (int i = 1; i <= 1000000; i++) {
    for (int j = 0; j < v[i].size(); j++) {
      cr++;
      exist[v[i][j]] = 1;
    }
    if (flag[i]) {
      id = flag[i];
      x = ar[id].first;
      y = ar[id].second;
      if (cr >= x) {
        sum = 0;
        for (int j = 1; j <= n; j++) {
          if (exist[j]) {
            sum += j;
            exist[j] = 0;
            x--;
            cr--;
            if (i + y + 1 <= 1000000) v[i + y + 1].push_back(j);
            if (!x) break;
          }
        }
        printf("%d\n", sum);
      } else
        printf("-1\n");
    }
  }
  return 0;
}
