import std.stdio;

void main () {
	int n, x;
	readf !(" %s %s") (n, x);
	int m = 1 << n;

	auto mark = new bool [m];
	for (int i = 0; i < x; i++) {
		int s;
		readf !(" %b") (s);
		mark[s] = true;
	}
	auto mark0 = mark.dup;

	for (int s = 0; s < m; s++)
		if (mark[s])
			for (int t = 0; t < m; t++)
				if ((t & s) == s)
					mark[t] = true;

	for (int s = 0; s < m; s++)
		writefln !("%0*b: %s %s")
		    (n, s, "xv"[mark0[s]], "xv"[mark[s]]);
}
