#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cassert>
#include "transmission.h"
#define pb push_back
#define mp make_pair
#define ll long long
using namespace std;
const int T = 10;

static vector<bool> data;

vector<bool> receive(const vector<bool>& message, int n, int d)
{
    assert(d == 1);

    int m = message.size();
    for(int i = 0; i < m;)
    {
        int island = 0, j = i;
        while(j < m && message[j] == message[i])
        {
            island++;
            j++;
        }
        while(island % T)
            island++;
        for(int j = 1; j <= island / T; j++)
            data.pb(message[i]);

        i = j;
    }

    while((int)data.size() > n)
        data.pop_back();
    while((int)data.size() < n)
        data.pb(rand() % 2);
    //assert((int)data.size() == n);
    return data;
}


