#include #include #include #include using ull = unsigned long long; int main() { ull N, M; std::cin >> N >> M; std::map> groove_map; for (ull i = 0; i < M; i += 1) { ull xp, yp, xq, yq; std::cin >> xp >> yp >> xq >> yq; groove_map[yq].emplace(xp, xq); groove_map[yq].emplace(xq, xp); } std::vector hunter_pos(N); for (ull i = 0; i < N; i += 1) { hunter_pos[i] = i + 1; } for (const auto &groove_line: groove_map) { for (ull hunter_i = 0; hunter_i < hunter_pos.size(); hunter_i += 1) { if (auto found = groove_line.second.find(hunter_pos[hunter_i]); found == groove_line.second.end()) { // } else { hunter_pos[hunter_i] = found->second; } } } for (ull hunter: hunter_pos) { std::cout << hunter << std::endl; } return 0; }