//异或变换 AC
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,t;
long long x=1,a[10001]={0},b[10001]={0};
cin>>n>>t;
for(long long i=0;i<n;i++) scanf("%1lld",&a[i]);//无符号读入数组
// for(long long i=0;i<n;i++) cout<<a[i];
// cout<<endl;
b[0]=a[0];
//有一个规律,当n>2^x次方时,超过2^x以后的输出都是重复的,剪枝
while(1){
x*=2;
if(x>n) break;
}
if(t>x) x=t%x;
for(long long i=0;i<t;i++){
// cout<<i<<":";
// cout<<b[0];
for(long long j=1;j<n;j++){
if(a[j]==a[j-1]) b[j]=0;
else b[j]=1;
// cout<<b[j];
}
for(long long j=1;j<n;j++) a[j]=b[j];
// cout<<endl;
if(x-1==i) break;
}
for(long long i=0;i<n;i++) cout<<b[i];
return 0;
} //10100110100011010111