description: You are given three integers n, a, b. Determine if there exists a permutation p_1, p_2, …, p_n of integers from 1 to n, such that:
  
    * There are exactly a integers i with 2 ≤ i ≤ n-1 such that p_{i-1} < p_i > p_{i+1} (in other words, there are exactly a local maximums).
  
    * There are exactly b integers i with 2 ≤ i ≤ n-1 such that p_{i-1} > p_i < p_{i+1} (in other words, there are exactly b local minimums).
  
  
  
  
  If such permutations exist, find any such permutation.
  
  Input
  
  The first line of the input contains a single integer t (1 ≤ t ≤ 10^4) — the number of test cases. The description of test cases follows.
  
  The only line of each test case contains three integers n, a and b (2 ≤ n ≤ 10^5, 0 ≤ a,b ≤ n).
  
  The sum of n over all test cases doesn't exceed 10^5.
  
  Output
  
  For each test case, if there is no permutation with the requested properties, output -1.
  
  Otherwise, print the permutation that you are found. If there are several such permutations, you may print any of them.
  
  Example
  
  Input
  
  
  3
  4 1 1
  6 1 2
  6 4 0
  
  
  Output
  
  
  1 3 2 4
  4 2 3 1 5 6
  -1
  
  Note
  
  In the first test case, one example of such permutations is [1, 3, 2, 4]. In it p_1 < p_2 > p_3, and 2 is the only such index, and p_2> p_3 < p_4, and 3 the only such index.
  
  One can show that there is no such permutation for the third test case.
solution: #------------------------template--------------------------#
  import os
  import sys
  from math import *
  # from collections import *
  # from itertools import *
  # from heapq import *
  # from fractions import *
  from bisect import *
  from io import BytesIO, IOBase
  from typing import overload
  def vsInput():
      sys.stdin = open('input.txt', 'r')
      sys.stdout = open('output.txt', 'w')
  BUFSIZE = 8192
  class FastIO(IOBase):
      newlines = 0
      def __init__(self, file):
          self._fd = file.fileno()
          self.buffer = BytesIO()
          self.writable = "x" in file.mode or "r" not in file.mode
          self.write = self.buffer.write if self.writable else None
      def read(self):
          while True:
              b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
              if not b:
                  break
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
          self.newlines = 0
          return self.buffer.read()
      def readline(self):
          while self.newlines == 0:
              b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
              self.newlines = b.count(b"\n") + (not b)
              ptr = self.buffer.tell()
              self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
          self.newlines -= 1
          return self.buffer.readline()
      def flush(self):
          if self.writable:
              os.write(self._fd, self.buffer.getvalue())
              self.buffer.truncate(0), self.buffer.seek(0)
  class IOWrapper(IOBase):
      def __init__(self, file):
          self.buffer = FastIO(file)
          self.flush = self.buffer.flush
          self.writable = self.buffer.writable
          self.write = lambda s: self.buffer.write(s.encode("ascii"))
          self.read = lambda: self.buffer.read().decode("ascii")
          self.readline = lambda: self.buffer.readline().decode("ascii")
  sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
  input = lambda: sys.stdin.readline().rstrip("\r\n")
  ALPHA='abcdefghijklmnopqrstuvwxyz'
  M = int(1e9 + 7)
  EPS = 1e-6
  def Ceil(a,b): return a//b+int(a%b>0)
  def value():return tuple(map(int,input().split()))
  def array():return [int(i) for i in input().split()]
  def Int():return int(input())
  def Str():return input()
  def arrayS():return [i for i in input().split()]
  
  #-------------------------code---------------------------#
  # vsInput()    
  
  
  def ok(a, x, y):
      
      for i in range(1,n-1):
          if(a[i] > a[i - 1] and a[i] > a[i + 1]): x -= 1
          elif(a[i] < a[i - 1] and a[i] < a[i + 1]): y -= 1
  
      return x == 0 and y == 0
  
  for _ in range(Int()):
      n, a, b = value()
  
      ans = []
      if(abs(a-b) > 1 or a + b > n - 2):
          print(-1)
      else:
  
          l,r,i = 1, n, 0
          mn = min(a,b)
          if(a > b):
              while(i < a + b + 2):
                  if(i%2 == 0): 
                      ans.append(l)
                      l += 1
                  else:
                      ans.append(r)
                      r -= 1
                  i += 1
  
          else:
              while(i < a + b + 2):
                  if(i%2 == 0):
                      ans.append(r)
                      r -= 1
                  else:
                      ans.append(l)
                      l += 1
                  i += 1
  
          extra = [i for i in range(l, r + 1)]
          extra.append(ans.pop(0))
          extra.sort()
          if(ans[0] == 1): ans = extra[::-1] + ans[::]
          else: ans = extra[::] + ans[::]
  
          if(ok(ans,a,b)): print(*ans)
          else: print(-1)
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  	
  
  
  	
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  		
  
  
  
  
  
  
  
  
  
  
  
  
  
  	
  
  
  
  
  
  
  
  	
  
  	
  
  
  
  
  
  
  
  	
  	
  	
  
  
  		
  		
  
  		
  
  
  		
  	
  	
  
  
  
  
  	
  
  
  
  
  
  
  
  
  
  
  