13362 - Gray code   

Description

An n-bit gray code sequence is a sequence of 2^n integers where:

  • Every integer is in the inclusive range [0, 2^n - 1],
  • The first integer is 0,
  • An integer appears no more than once in the sequence,
  • The binary representation of every pair of adjacent integers differs by exactly one bit, and
  • The binary representation of the first and last integers differs by exactly one bit.

For example, a if n = 2:

The binary representation of [0,1,3,2] is [00,01,11,10].
- 00 and 01 differ by one bit
- 01 and 11 differ by one bit
- 11 and 10 differ by one bit
- 10 and 00 differ by one bit

Given an integer n, print the gray code sequence.

Note that you have to follow the standard encoding since there are more than one sequences satisfy the requirements.

For example, if n = 4:

Reference:

https://en.wikipedia.org/wiki/Gray_code

Input

1<=n<=20

Output

The corresponding gray code sequence.

Note that you have to print "\n" after each numbers. 

Sample Input  Download

Sample Output  Download

Tags




Discuss