Aidar, Begimai, and Viktor wrote their first segment tree to solve a complex problem.
However, a problem arose — their tree was producing incorrect answers even for the test cases provided in the problem statement.
First of all, the guys assumed that they had incorrectly matched the semi-intervals of the array to the nodes. Viktor suggested that they should output all the nodes and their semi-intervals in order.
Begimai noted that simple line-by-line output would not significantly speed up the process — they needed to visualize the entire tree!
Attention: This problem uses certain rules for constructing a segment tree — familiarize yourself with them in the notes of the problem.
The first line contains an integer $$$n$$$ $$$(1 \le n \le 10^4)$$$ — the size of the array.
The tree must be visualized layer by layer, with each layer corresponding to one line.
Refer to the test examples for clarification on the details.
1
[0;1)
2
[0;2)
[0;1) | [1;2)
3
[0;3)
[0;1) | [1;3)
| [1;2) | [2;3)
7
[0;7)
[0;3) | [3;7)
[0;1) | [1;3) | [3;5) | [5;7)
| [1;2) | [2;3) | [3;4) | [4;5) | [5;6) | [6;7)
9
[0;9)
[0;4) | [4;9)
[0;2) | [2;4) | [4;6) | [6;9)
[0;1) | [1;2) | [2;3) | [3;4) | [4;5) | [5;6) | [6;7) | [7;9)
| | | | | | | [7;8) | [8;9)
Definition
A segment tree built for an array of length $$$n$$$ represents a binary tree in which each node is matched to a certain semi-interval of the given array:
| Name |
|---|


