#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000005 #define Inf64 4000000000000000001LL vector s; void dfs(int n,string t){ if(n==0){ int tt = 0; rep(i,t.size()){ tt |= 1<<(t[i] - 'A'); } if(tt==7)s.push_back(t); } else{ dfs(n-1,t + 'A'); dfs(n-1,t + 'B'); dfs(n-1,t + 'C'); } } int main(){ int n; cin>>n; dfs(n,""); int ii; cin>>ii; ii--; if(ii>=s.size()){ cout<<-1<