#include "encoder.h"
#include "encoderlib.h"
#include<bits/stdc++.h>
using namespace std;
void encode(int n, int a[])
{
if(n<=32){
for(int i=0;i<n;i++){
int g=a[i];
for(int j=0;j<8;j++){
if(g%2==1){
send(8*i+j);
}
g/=2;
}
}
}
else{
for(int i=0;i<n;i++){
int g=a[i];
for(int j=0;j<4;j++){
for(int k=1;k<=g%4;k++){
send(4*i+j);
}
g/=4;
}
}
}
return;
}
#include "decoder.h"
#include "decoderlib.h"
#include<bits/stdc++.h>
using namespace std;
int dp[200];
void decode(int n, int l, int x[])
{
for(int i=0;i<n;i++)
dp[i]=0;
if(n<=32){
for(int i=0;i<l;i++){
dp[x[i]/8]+=pow(2,x[i]%8);
}
for(int i=0;i<n;i++){
output(dp[i]);
}
}
else{
for(int i=0;i<l;i++){
dp[x[i]/4]+=pow(4,x[i]%4);
}
for(int i=0;i<n;i++){
output(dp[i]);
}
}
return;
}