#include <bits/stdc++.h>
#include "transmission.h"

#define SZ(x) ((int)x.size())
#define pb push_back

using namespace std;


std::vector<bool> receive(const std::vector<bool>& message, int n, int d)
{
    int BATCH = 50;
    if(d == 1) 
        BATCH = 500;

    if(d > 100)
        BATCH = 20;

    BATCH = max(20, n / (10 * d));

    vector<bool> data;
    for(int i = 0; i < SZ(message); )
        if(message[i] == 0)
        {
            for(int k = i + 1; k < i + BATCH + 1; k++)
                data.pb(message[k]);
            i = i + BATCH + 1;
        }
        else 
            i++;

    data.resize(n);
    return data;
}
