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: N = int(input())
  
  ans = []
  for i in range(N - 1):
      ans.append([0] * (N - i - 1))
  
  flag = 0
  for step in range(1, N // 2 + 1):
      i = 0
      i_start = 0
      counter = 0
      visited = [0] * N
      while True:
          if visited[i] == 1:
              break
          if i + step <= N - 1:
              ans[i][step - 1] = step
              i_new = i + step
          else:
              i_new = (i + step) % N
              ans[i_new][i - i_new - 1] = step
          counter += 1
          if i_new == i_start:
              if counter % 2 == 1:
                  ans[i_new][i - i_new - 1] = 0
                  if step == N // 2:
                      flag = 1
              i_start += 1
              i = i_start
              counter = 0
          else:
              visited[i] = 1
              i = i_new
  
  for i in range(N - 1):
      for j in range(N - i - 1):
          if ans[i][j] == 0:
              ans[i][j] = N // 2 if flag == 0 else N // 2 + 1
  
  for i in range(N - 1):
      ans_i = ans[i]
      print(*ans_i)
  
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."}]