#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template<typename T> using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
void encode(int n, int* M) {
for (int i = 0; i < n; i++) {
send(M[i] ^ (i << 9));
}
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template<typename T> using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
void decode(int n, int m, int* X) {
sort(X, X + m);
for (int i = 0; i < n; i++) {
output(X[i] ^ (i << 9));
}
}