#include <bits/stdc++.h>

using namespace std;

ifstream fin( "gray.in" );
ofstream fout( "gray.out" );

bool f[10000];
int N;

void PRNT( int nr ) {
    for( int i = N - 1; i >= 0; --i )
        cout << bool( nr & ( 1 << i ) );
    cout << '\n';
}

int main()
{
    int nr = 0;
    bool nxt;

    cin >> N;

    f[0] = 1;
    PRNT( 0 );

    while( nr != ( 1 << N ) - 1 ) {
        nxt = false;
        for( int i = 0; i < N && !nxt; ++i )
            if( f[ ( nr ^ ( 1 << i ) )] == 0 ) {
                nr ^= ( 1 << i );
                f[nr] = 1;
                PRNT( nr );
                nxt = true;
            }
    }


    return 0;
}