import java.util.*;
import java.lang.*;
class Main
{
public static void main
(String[] args
){ int numberOfBits = 2;
LinkedList<int []> results = printBin(numberOfBits);
Iterator<int[]> i = results.iterator();
while(i.hasNext()){
int[] temp = i.next();
for(int j = 0; j < temp.length; j++){
}
}
}
public static LinkedList<int[]> printBin(int numberOfBits) {
LinkedList<int[]> ret = new LinkedList<int[]>();
int endMask = 1 << numberOfBits;
for (int mask = 0 ; mask != endMask ; mask++) {
int[] combo = new int[numberOfBits];
for (int i = 0 ; i != numberOfBits ; i++) {
combo[i] = ((mask & (1 << i)) != 0) ? 1 : 0;
}
ret.add(combo);
}
return ret;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpewogICAgICAgIGludCBudW1iZXJPZkJpdHMgPSAyOwogICAgICAgIExpbmtlZExpc3Q8aW50IFtdPiByZXN1bHRzID0gcHJpbnRCaW4obnVtYmVyT2ZCaXRzKTsKICAgICAgICBJdGVyYXRvcjxpbnRbXT4gaSA9IHJlc3VsdHMuaXRlcmF0b3IoKTsKICAgICAgICB3aGlsZShpLmhhc05leHQoKSl7CiAgICAgICAgICAgIGludFtdIHRlbXAgPSBpLm5leHQoKTsKICAgICAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IHRlbXAubGVuZ3RoOyBqKyspewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCh0ZW1wW2pdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIiIpOwogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIHN0YXRpYyBMaW5rZWRMaXN0PGludFtdPiBwcmludEJpbihpbnQgbnVtYmVyT2ZCaXRzKSB7CkxpbmtlZExpc3Q8aW50W10+IHJldCA9IG5ldyBMaW5rZWRMaXN0PGludFtdPigpOwppbnQgZW5kTWFzayA9IDEgPDwgbnVtYmVyT2ZCaXRzOwpmb3IgKGludCBtYXNrID0gMCA7IG1hc2sgIT0gZW5kTWFzayA7IG1hc2srKykgewogICAgaW50W10gY29tYm8gPSBuZXcgaW50W251bWJlck9mQml0c107CiAgICBmb3IgKGludCBpID0gMCA7IGkgIT0gbnVtYmVyT2ZCaXRzIDsgaSsrKSB7CiAgICAgICAgY29tYm9baV0gPSAoKG1hc2sgJiAoMSA8PCBpKSkgIT0gMCkgPyAxIDogMDsKICAgIH0KICAgIHJldC5hZGQoY29tYm8pOwp9CnJldHVybiByZXQ7CgogICAgfQp9