import std.stdio, std.algorithm, std.range;
string[] g(in uint n) /*pure nothrow*/ {
return n ? g(n - 1).map!q{'0' ~ a}().array() ~
g(n - 1).retro().map!q{'1' ~ a}().array()
: [""];
}
void main() {
writeln(g(4));