#include #include #include using namespace std; struct Groove { int from; int to; int time; }; int main() { int hunters, grooves; cin >> hunters >> grooves; vector g; g.reserve(grooves); for (int i = 0; i < grooves; i++) { int ax, bx, ay, by; cin >> ax >> bx >> ay >> by; Groove groove; groove.from = ax - 1; groove.to = ay - 1; groove.time = bx; g.push_back(groove); } sort(g.begin(), g.end(), [](const Groove& a, const Groove& b) { return a.time > b.time; }); int positions[hunters]; for (int i = 0; i < hunters; i++) { positions[i] = i + 1; } for (const Groove& groove : g) { swap(positions[groove.from], positions[groove.to]); } for (int i = 0; i < hunters; i++) { cout << positions[i] << '\n'; } }