#include<bits/stdc++.h>
#include "encoder.h"
#include "encoderlib.h"
using namespace std;
void encode(int N, int M[])
{
for(int i=0;i<N;i++)
{
for(int j=0;(1<<j)<=M[i];j++)
{
//cout<<i<<" "<<((i<<3)+j)<<" "<<j<<" "<<(i<<3)<<endl;
if(((1<<j)&M[i])!=0)send((i<<3)+j);
}
}
}
#include<bits/stdc++.h>
#include "decoder.h"
#include "decoderlib.h"
using namespace std;
static vector<int>v;
void decode(int N, int L, int X[])
{
v.assign(N,0);
for(int i=0;i<L;i++)
{
//cout<<X[i]<<"sere mi se"<<endl;
int id=0,b=0;
for(int j=0;(1<<j)<=X[i];j++)
{
//cout<<j<<" "<<((1<<j)&X[i])<<"niga"<<endl;
if(j<=2&&((1<<j)&X[i])!=0)
{
b|=(1<<j);
}
if(j>2&&((1<<j)&X[i])!=0)
{
id|=(1<<j);
}
}
id=(id>>3);
//cout<<id<<" "<<b<<endl;
v[id]|=(1<<b);
}
for(int i=0;i<N;i++)
{
//cout<<v[i]<<" "<<i<<endl;
output(v[i]);
}
}