A mountain consists of one or more hills, each of which consists of *upwards*, which we denote with `/', and *downwards*, which we denote with '\'. We call *upwards* and *downwards* together as *wards*. Let /^{n} be an *upward* of length n, and in the same way, let \^{n} be a *downward* of length n. For example, the following *upward* is /^{2}:

/ /

and the following *downward* is \^{3}:

\ \ \

The set of all hills is given in the following:

*Hills* =_{def} { /^{n}\^{n} | n is a natural number }

Now it comes to the definition of a mountain(in BNF):

*Mountain* ::= *Hill* | *Mountain** Mountain*

That's to say, a hill is a mountain, and if *M* and *N* are mountains, then the concatenation of *M* and *N* is also a mountain.

For example,

/\ /\/\/ \

is a mountain with 3 hills.

We define the *width* of a mountain as the number of *upwards* and *downwards*. We define the *height* of a mountain as the maximum length of *upwards*(or equivalently *downwards*).

We can give each mountain a unique number, called *index*, such that the following conditions are met:

*index*begins with 1- the
*index*of a mountain with larger*width*is larger - if two mountains have the same
*width*, then the*index*of the mountain whose leftmost different*ward*with the other mountain is an upward is larger

For example, portion of the mountains and their *indices* are:

/\ /\ /\ /\ /\ /\/\ / \ /\/\/\ /\/ \ ... /\/\/ \ /\/ \/\ ... 1 2 3 4 5 9 10

In this problem, you are print the mountain from the given *index*.

The input contains several lines, each of which contains an integer *N*<2^32. The last line contains 0, which you should not proceed.

For each *N*, your program should print the mountain, and you need make the mountain climbing.

The output of two consecutive instances should be separated by a blank line.

6 9 0

/\ / \/\ /\ /\/\/ \

**Author:** fgjlwj