/*
* http://w...content-available-to-author-only...h.club/tasks.php?show_task=5000000355
*/
#include <bits/stdc++.h>
using namespace std;
int dest,n,k;
vector<pair<int,int>> graph;
int cache[60][4];
string str="";
int dp(int i, int source)
{
if(cache[i][source]!=-1)
{
return cache[i][source];
}
if(i==0)
{
if(source==dest)
{
return cache[i][source]=1;
}
return cache[i][source]=0;
}
cache[i][source]=dp(i-1,graph[source].first)+dp(i-1,graph[source].second);
return cache[i][source];
}
void rec(int len, int num, int source)
{
if(len==0)
{
return;
}
bool flag=0;
if(dp(len-1,graph[source].first)>=num)
{
str+='0';
rec(len-1,num,graph[source].first);
}
else{
str+='1';
num-=dp(len-1,graph[source].first);
rec(len-1,num,graph[source].second);
}
}
int main() {
memset(cache,-1, sizeof(cache));
graph.push_back({2,1});
graph.push_back({3,0});
graph.push_back({0,3});
graph.push_back({1,2});
char ch;
cin>>ch;
dest=ch-'A';
cin>>n>>k;
if(dp(n,0)<k)
{
cout<<"impossible\n";
}else{
rec(n,k,0);
cout<<str<<"\n";
}
}
LyoKICogaHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmguY2x1Yi90YXNrcy5waHA/c2hvd190YXNrPTUwMDAwMDAzNTUKICovCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBkZXN0LG4sazsKdmVjdG9yPHBhaXI8aW50LGludD4+IGdyYXBoOwppbnQgY2FjaGVbNjBdWzRdOwpzdHJpbmcgc3RyPSIiOwppbnQgZHAoaW50IGksIGludCBzb3VyY2UpCnsKCWlmKGNhY2hlW2ldW3NvdXJjZV0hPS0xKQoJewoJCXJldHVybiBjYWNoZVtpXVtzb3VyY2VdOwoJfQoJaWYoaT09MCkKCXsKCQlpZihzb3VyY2U9PWRlc3QpCgkJewoJCQlyZXR1cm4gY2FjaGVbaV1bc291cmNlXT0xOwoJCX0KCQlyZXR1cm4gY2FjaGVbaV1bc291cmNlXT0wOwoJfQoKCgljYWNoZVtpXVtzb3VyY2VdPWRwKGktMSxncmFwaFtzb3VyY2VdLmZpcnN0KStkcChpLTEsZ3JhcGhbc291cmNlXS5zZWNvbmQpOwoJcmV0dXJuIGNhY2hlW2ldW3NvdXJjZV07Cn0Kdm9pZCByZWMoaW50IGxlbiwgaW50IG51bSwgaW50IHNvdXJjZSkKewoJaWYobGVuPT0wKQoJewoJCXJldHVybjsKCX0KCWJvb2wgZmxhZz0wOwoJaWYoZHAobGVuLTEsZ3JhcGhbc291cmNlXS5maXJzdCk+PW51bSkKCXsKCQlzdHIrPScwJzsKCQlyZWMobGVuLTEsbnVtLGdyYXBoW3NvdXJjZV0uZmlyc3QpOwoJfQoJZWxzZXsKCQlzdHIrPScxJzsKCQludW0tPWRwKGxlbi0xLGdyYXBoW3NvdXJjZV0uZmlyc3QpOwoJCXJlYyhsZW4tMSxudW0sZ3JhcGhbc291cmNlXS5zZWNvbmQpOwoJfQp9CgoKCmludCBtYWluKCkgewoJbWVtc2V0KGNhY2hlLC0xLCBzaXplb2YoY2FjaGUpKTsKCWdyYXBoLnB1c2hfYmFjayh7MiwxfSk7CglncmFwaC5wdXNoX2JhY2soezMsMH0pOwoJZ3JhcGgucHVzaF9iYWNrKHswLDN9KTsKCWdyYXBoLnB1c2hfYmFjayh7MSwyfSk7CgljaGFyIGNoOwoJY2luPj5jaDsKCWRlc3Q9Y2gtJ0EnOwoJY2luPj5uPj5rOwoJaWYoZHAobiwwKTxrKQoJewoJCWNvdXQ8PCJpbXBvc3NpYmxlXG4iOwoJfWVsc2V7CgkJcmVjKG4saywwKTsKCQljb3V0PDxzdHI8PCJcbiI7Cgl9Cn0KCg==