#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
const int MAXN = 200003;
int a[MAXN], b[MAXN];
long long n, T, m;
long long l, r;
int work(long long x, long long y) {
l = (x - y) % m + m;
l = l % m;
r = (x + y) % m;
if(a[l] == 0) return 0;
if(a[l] == a[r]) return 1;
return 2;
}
void solve(long long k, long long c) {
if(!k) return;
solve(k / 2, c << 1);
if(!(k % 2)) return;
for(int i = 1; i <= (int)m; i++) b[i] = work((long long)i, c);
swap(a, b);
}
int main() {
freopen("zjoi09coins.in","r",stdin);
freopen("zjoi09coins.out","w",stdout);
scanf("%d%lld",&n,&T);
m = n << 1;
for(int i = 1; i <= (int)n; i++) scanf("%d",&a[i*2-1]);
solve(T, 1);
for(int i = 1; i <= (int)m; i++) {
cout<<a[i];
if(i != m) putchar(' ');
else putchar('\n');
}
return 0;
}