output_description: Print one way to set levels to the passages so that the objective is achieved,
  as follows:
  
      
      
      a_{1,2} a_{1,3} ... a_{1,N}
      a_{2,3} ... a_{2,N}
      .
      .
      .
      a_{N-1,N}
      
  
  Here a_{i,j} is the level of the passage connecting Room i and Room j.
  
  If there are multiple solutions, any of them will be accepted.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: r = range
  n = int(input())
  for i in r(n):
      for j in r(i + 1, n):
          d = i ^ j & -(i ^ j)
          print(d.bit_length())
  
problem_description: Statement
  
  AtCoder's head office consists of N rooms numbered 1 to N. For any two rooms,
  there is a direct passage connecting these rooms.
  
  For security reasons, Takahashi the president asked you to set a **level** for
  every passage, which is a positive integer and must satisfy the following
  condition:
  
    * For each room i\ (1 \leq i \leq N), if we leave Room i, pass through some passages whose levels are all equal and get back to Room i, the number of times we pass through a passage is always even.
  
  Your task is to set levels to the passages so that the highest level of a
  passage is minimized.
samples: [{"input": "3", "output": "1 2\n    1\n    \n\nThe following image describes this output:\n\n![](https://img.atcoder.jp/jsc2019-qual/D-sample.png)\n\nFor example, if we leave Room 2, traverse the path 2 \\to 3 \\to 2 \\to 3 \\to 2\n\\to 1 \\to 2 while only passing passages of level 1 and get back to Room 2, we\npass through a passage six times."}]