#include <iostream>
#include <cmath>
#include <string>
#include <vector>
using namespace std;
string DecToBin(const int& number);
class Combo{
private:
vector<string> v;
int n; //Número de dígitos
public:
Combo(const int& digitos);
friend ostream& operator<<(ostream& os,const Combo& c);
};
Combo::Combo(const int& digitos){
n = digitos;
if(n > 0){
v.resize((int)pow(2,(double)n));
string tmp;
for(int i=0; i<(int)pow(2,(double)n); i++){
string aux(n,'0');
tmp = DecToBin(i);
aux.replace(aux.size()-tmp.size(),tmp.size(),tmp);
v[i] = aux;
}
}
}
ostream& operator<<(ostream& os,const Combo& c){
for(int i=0; i<(int)pow(2,(double)c.n); i++) os << c.v[i] << endl;
return os;
}
int main(){
int n;
cin >> n;
Combo aux(n);
cout << aux << endl;
}
string DecToBin(const int& number){
if ( number == 0 ) return "0";
if ( number == 1 ) return "1";
if ( number % 2 == 0 ) return DecToBin(number / 2) + "0";
else return DecToBin(number / 2) + "1";
}