#include #include #include using namespace std; typedef long long Long; const int N = 60; int main() { static Long nCr[N+1][N+1]; // preparation { for(int n = 0; n <= N; n++) { nCr[n][0] = 1; for(int r = 1; r <= n; r++) { nCr[n][r] = nCr[n-1][r] + nCr[n-1][r-1]; } } } // main loop { int n; Long m; while(cin >> n >> m) { if(n == 0 && m == 0) break; int j = 0; while(m > nCr[n][j]) { m -= nCr[n][j]; ++j; } for(int i = n - 1; i >= 0; i--) { if(nCr[i][j] >= m) cout << 0; else { m -= nCr[i][j]; --j; cout << 1; } } cout << endl; } } return 0; }