Código Gray

El código Gray de longitud n corresponde a la lista de todas las secuencias de bits de longitud n que difieren en exactamente un bit (es decir, su distancia de Hamming es 1).

Dado un número entero n, se pide imprimir el código Gray en 2n2^n líneas.

Entrada

La entrada contiene un único número entero n (1 ≤ n ≤ 16).

Salida

El programa debe imprimir el código Gray. Cualquier solución válida es aceptable.

Ejemplos

Entrada

Salida

1

0
1

2

00
01
11
10

3

000
001
011
010
110
111
101
100

Constraints

Time limit: 1.58 seconds

Memory limit: 512 MB

Output limit: 25 MB