//
// --- Sample implementation for the task swaps ---
//
// To compile this program with the sample grader, place:
// swaps.h swaps_sample.cpp sample_grader.cpp
// in a single folder and run:
// g++ swaps_sample.cpp sample_grader.cpp
// in this folder.
//
#include<bits/stdc++.h>
#include "swaps.h"
#define pii pair<int,int>
#define fi first
#define se second
using namespace std;
void solve(int n, int Q){
vector<pii>v[2];
vector<int>val;
for(int i=1;i<=n;i++) val.push_back(i);
for(int i=n;i-1>0;i-=2) v[0].push_back({i-1,i});
for(int i=n-1;i-1>0;i-=2) v[1].push_back({i-1,i});
for(int i=1;i<=500;i++){
for(pii p : v[i%2]) schedule(val[p.fi],val[p.se]);
vector<int>a=visit();
for(int j=0;j<a.size();j++){
if(!a[j]) swap(val[val[v[i%2][j].fi]],val[val[v[i%2][j].se]]);
}
}
vector<int>ans;
for(int i=1;i<=n;i++) ans.push_back(i);
answer(ans);
}