#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int n;long long p3[32], nn[32];char a[32], b[32];long long geti(const char *x){int i, j, last = 0;long long res = 0;for ( i = 0; x[i]; ++i ){int ai = x[i] & 15;++res;for ( j = 0; j < 4; ++j )if ( j < ai && j != last )res += nn[n-1-i];last = ai;}return res;}int main(){int i, j;long long k;for ( p3[i = 0] = 1; ++i <= 20; )p3[i] = 3 * p3[i-1];for ( i = 0; i <= 20; ++i )nn[i] = (p3[i] - 1 >> 1) * 3 + 1;while ( scanf("%d%lld", &n, &k) == 2 && n ){int last;long long r;scanf(" %s", b);memset(a, 0, sizeof(a));r = geti(b) - k;for ( last = i = 0; i < n; ++i ){for ( j = 4; --j >= 0; )if ( j != last ){a[i] = '0' + j;if ( geti(a) <= r )break;}if ( j < 0 ){a[i] = 0;break;}last = j;}puts(a);}return 0;}


