import java.util.*;

/**
 * Created by Sorin on 4/29/2017.
 */
public class prog {

    static Map<Integer, StringBuilder> map = new HashMap<>();
    static Map<String, Integer> numberOf1 = new HashMap<>();
    static Set<StringBuilder> set = new HashSet<>();
    static List<String> answer = new ArrayList<>();

    public static void main(final String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int power = 1;
        for (int i = 0; i < n; i++) {
            power = power * 2;
        }

        for (int i = 0; i < power; i++) {
            int bits = Integer.bitCount(i);
            StringBuilder binaryString = new StringBuilder(Integer.toBinaryString(i));
            StringBuilder zeros = new StringBuilder();
            if (binaryString.length() < n) {
                if (!map.containsKey(n - binaryString.length())) {
                    for (int j = 1; j <= n - binaryString.length(); j++) {
                        zeros.insert(0, "0");
                    }
                    map.put((n - binaryString.length()), zeros);
                } else {
                    zeros = map.get(n - binaryString.length());
                }
                binaryString.insert(0, zeros);
            }

            if (bits == 0) {
                answer.add(binaryString.toString());
            }
            set.add(binaryString);
            numberOf1.put(binaryString.toString(), bits);

        }

        back(1, power);
    }

     static void back(int step, int n) {
        if (step == n) {
            StringBuilder sb = new StringBuilder();
            for (String sol : answer) {
                sb.append(sol).append(System.lineSeparator());
            }
            System.out.println(sb);
            System.exit(0);
        } else {
            int nrOf1 = numberOf1.get(answer.get(step - 1));
            for (StringBuilder sb : set) {
                int nrOf1FromNext = numberOf1.get(sb.toString());
                if (Math.abs(nrOf1FromNext - nrOf1) == 1) {
                    set.remove(sb);
                    answer.add(step, sb.toString());
                    back(step + 1, n);
                    set.add(sb);
                }
            }
        }
    }
}