#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n = 0;
int k = 0;
cin >> n;
cin >> k;
int b[n];
for(int i = 0; i < n; i++)
{
b[i] = i+1;
}
vector <vector<int> > a(k,vector<int> (3));
//int a[k][3];
//int a1[k][3];
vector <vector<int> > a1(k,vector<int> (3));
for(int i = 0; i < k; i++)
{
for(int j = 0; j < 3 ; j++)
{
cin >> a[i][j];
a1[i][j] = a[i][j];
//cout << 0 << endl;
}
a[i][2] = a[i][1]+a[i][2];
a1[i][2] = a[i][2];
}
int min;
int p1;
for(int i = 0; i < k; i++)
{
min = i;
int j = 0;
for(j = i+1; j < k; j++)
{
if(a[min][1] > a[j][1])
{
min = j;
}
}
if(min != i)
{
p1 = a[i][0];
a[i][0] = a[min][0];
a[min][0] = p1;
p1 = a[i][1];
a[i][1] = a[min][1];
a[min][1] = p1;
p1 = a[i][2];
a[i][2] = a[min][2];
a[min][2] = p1;
}
}
for(int i = 0; i < k; i++)
{
min = i;
int j = 0;
for(j = i+1; j < k; j++)
{
if(a1[min][2] > a1[j][2])
{
min = j;
}
else if(a1[min][2] == a1[j][2])
{
if(a1[min][0] > a1[j][0])
{
min = j;
}
}
}
if(min != i)
{
p1 = a1[i][0];
a1[i][0] = a1[min][0];
a1[min][0] = p1;
p1 = a1[i][1];
a1[i][1] = a1[min][1];
a1[min][1] = p1;
p1 = a1[i][2];
a1[i][2] = a1[min][2];
a1[min][2] = p1;
}
}
int c1 = 0;
int c2 = 0;
for(int f = 0; f <= a1[k-1][2]; f++)
{
while(c2 < k && a1[c2][2] == f )
{
int find = 0;
for(int i = 0; i < n; i++)
{
if(b[i] == 0)
{
b[i] = a1[c2][0];
c2++;
find = 1;
break;
}
}
if(find == 0)
{
break;
}
}
while(c1 < k && a[c1][1] == f )
{
int find = 0;
for(int i = 0; i < n; i++)
{
if(b[i] == a[c1][0])
{
b[i] = 0;
c1++;
find = 1;
break;
}
}
if(find == 0)
{
break;
}
}
}
for(int i = 0; i < n; i++)
{
if(i != 0 ){
cout << " ";
}
cout << b[i];
}
return 0;
}
#include <vector>
using namespace std;
int main()
{
int n = 0;
int k = 0;
cin >> n;
cin >> k;
int b[n];
for(int i = 0; i < n; i++)
{
b[i] = i+1;
}
vector <vector<int> > a(k,vector<int> (3));
//int a[k][3];
//int a1[k][3];
vector <vector<int> > a1(k,vector<int> (3));
for(int i = 0; i < k; i++)
{
for(int j = 0; j < 3 ; j++)
{
cin >> a[i][j];
a1[i][j] = a[i][j];
//cout << 0 << endl;
}
a[i][2] = a[i][1]+a[i][2];
a1[i][2] = a[i][2];
}
int min;
int p1;
for(int i = 0; i < k; i++)
{
min = i;
int j = 0;
for(j = i+1; j < k; j++)
{
if(a[min][1] > a[j][1])
{
min = j;
}
}
if(min != i)
{
p1 = a[i][0];
a[i][0] = a[min][0];
a[min][0] = p1;
p1 = a[i][1];
a[i][1] = a[min][1];
a[min][1] = p1;
p1 = a[i][2];
a[i][2] = a[min][2];
a[min][2] = p1;
}
}
for(int i = 0; i < k; i++)
{
min = i;
int j = 0;
for(j = i+1; j < k; j++)
{
if(a1[min][2] > a1[j][2])
{
min = j;
}
else if(a1[min][2] == a1[j][2])
{
if(a1[min][0] > a1[j][0])
{
min = j;
}
}
}
if(min != i)
{
p1 = a1[i][0];
a1[i][0] = a1[min][0];
a1[min][0] = p1;
p1 = a1[i][1];
a1[i][1] = a1[min][1];
a1[min][1] = p1;
p1 = a1[i][2];
a1[i][2] = a1[min][2];
a1[min][2] = p1;
}
}
int c1 = 0;
int c2 = 0;
for(int f = 0; f <= a1[k-1][2]; f++)
{
while(c2 < k && a1[c2][2] == f )
{
int find = 0;
for(int i = 0; i < n; i++)
{
if(b[i] == 0)
{
b[i] = a1[c2][0];
c2++;
find = 1;
break;
}
}
if(find == 0)
{
break;
}
}
while(c1 < k && a[c1][1] == f )
{
int find = 0;
for(int i = 0; i < n; i++)
{
if(b[i] == a[c1][0])
{
b[i] = 0;
c1++;
find = 1;
break;
}
}
if(find == 0)
{
break;
}
}
}
for(int i = 0; i < n; i++)
{
if(i != 0 ){
cout << " ";
}
cout << b[i];
}
return 0;
}