#include <iostream> #define NMAX 100010 using namespace std; int main() { int n,m,i,j,v[NMAX][4], found, aux; cin>>n>>m; for (i=1;i<=m;i++) { cin>>v[i][1]>>v[i][2]>>v[i][3]; } for (i=1;i<=n;i++) v[i][0] = -1; do { found = 0; for (i=2;i<=m;i++) { if ((v[i-1][2] > v[i][2]) || (v[i-1][2] == v[i][2] && v[i-1][1] < v[i][1])) { aux = v[i-1][1]; v[i-1][1] = v[i][1]; v[i][1] = aux; aux = v[i-1][2]; v[i-1][2] = v[i][2]; v[i][2] = aux; aux = v[i-1][3]; v[i-1][3] = v[i][3]; v[i][3] = aux; found = 1; } } } while (found == 1); v[0][0] = 0; j = 1; for (i=1;i<=m;i++) { while (j < v[i][1]) { v[j][0] = 0; cout<<v[j][0]<<" "; j++; } while (j <= v[i][2]) { if (v[j][0] == -1) { v[j][0] = v[j-1][0] xor v[i][3]; cout<<v[j][0]<<" "; } j++; } } while (j <= n) { cout<<0<<" "; j++; } return 0; }