#include "machine.h"
#include<bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define pll pair<ll, ll>
#define vll vector<ll>
#define pb push_back
typedef int ll;
namespace{
	const ll mxM=256;
}
vector<int> find_permutation(int n) {
	if(n%2==1){
		vll a(n);
		ll orgsum=0;
		for(ll i=0;i<n;i++){
			a[i]=i;
			orgsum^=a[i];
		}
		vll re=use_machine(a);
		ll sum=0;
		for(ll i=0;i<n;i++){
			sum^=re[i];
		}
		sum^=orgsum;
		vll b(n);
		for(ll i=0;i<n;i++){
			b[i]=re[i]^sum;
		}
		return b;
	}
	else{
		ll cnt1=n/2+1;
		ll cnt2=n/2-1;
		vll a(n);
		ll pt=0;
		vll id(mxM, -1);
		for(ll i=0;i<cnt1*2;i+=2){
			a[pt]=i;
			id[i]=pt;
			pt++;
		}
		for(ll i=1;i<cnt2*2;i+=2){
			a[pt]=i;
			id[i]=pt;
			pt++;
		}
		// for(ll i=0;i<n;i++){
		// 	cout<<a[i]<<' ';
		// }
		// cout<<'\n';
		vll re=use_machine(a);
		for(ll x=0;x<mxM;x++){
			bool good=1;
			for(ll i=0;i<n;i++){
				if(id[re[i]^x]==-1){
					good=0;
					break;
				}
			}
			if(good){
				// cout<<"x: "<<x<<'\n';
				vll b(n);
				for(ll i=0;i<n;i++){
					b[i]=id[re[i]^x];
				}
				return b;
			}
		}
		return {};
	}
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |