A path in the n-dimensional set 0,1n is a sequence of n-dimensional points x_1,x_2,…,x_k∈0,1n such that, for each i (1≤i≤k−1), points x_i and x_i+1 differ in exactly one coordinate, and all the points x_1,…,x_k are distinct. The length of the path x_1,…,x_k is k.
A path x_1,…,x_k is imperfect if there exists a shorter path y_1,…,y_ℓ which leads from the first to the last point of this path and consists of a subset of the same points. In other words, y_1,…,y_ℓ⊆x_1,…,x_k, x_1=y_1, x_k=y_ℓ and ℓ<k. If a path is not imperfect, it is perfect.
Your task is to find the longest perfect path in the set 0,1n.
The only line contains a single integer n (1≤n≤6).
On the first line, print L, the length of the path. On the next L lines, print the description of the path x_1,…,x_L: i-th of these lines must contain n characters (zeroes and ones) describing the point x_i.
It is easy to see that there are multiple longest perfect paths. Print any one of them.