1144 - n位格雷码
Description

小明在学习单片机时接触了格雷码的相关知识。典型格雷码的相邻两个数之间仅有一位不同,形式如下:

现在小明想让你用代码生成n位的典型格雷码,你能帮帮他吗?


Input
输入一个数n,表示生成格雷码的位数。


Output
输出共2^n行,每行一个由'0'、'1'组成的n位字符串,表示对应数字的格雷码。


Examples

Input

3

Output

000
001
011
010
110
111
101
100
Hint

对于100%的数据,1≤n≤16;


题目参数
Time Limit 2 seconds
Memory Limit 128 MB
提交次数 1
通过次数 0