human
What is a Python program to find any such permutation given the following:
PYTHON3 solution for "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.":
assistant
#Here is Python program to find any such permutation.
 try:
    import sys
#     from _future_ import division, print_function
#     import bisect 
    import math
    # import heapq
    import collections
#     i_m = 9223372036854775807
    M = 10**9+7
    
    # def matrix(n):
    #     #matrix input
    #     return [list(map(int, input().split()))for i in range(n)]
    
#     def string2intlist(s):
#         return list(map(int, s))
    
    
#     def calculate_sum(a, N):  # sum of a to N
#         # Number of multiples
#         m = N / a
#         # sum of first m natural numbers
#         sum = m * (m + 1) / 2
#         # sum of multiples
#         ans = a * sum
#         return ans
    
    
#     def series(N):
#         return (N*(N+1))//2
    
    
#     def count2Dmatrix(i, list):
#         return sum(c.count(i) for c in list)
    
    
#     def modinv(n, p):
#         return pow(n, p - 2, p)
    
    
#     def nCr(n, r):
#         i = 1
#         while i < r:
#             n *= (n - i)
#             i += 1
#         return n // math.factorial(r)
    
    
#     def GCD(x, y):
#         x = abs(x)
#         y = abs(y)
#         if(min(x, y) == 0):
#             return max(x, y)
#         while(y):
#             x, y = y, x % y
#         return x
    
    
#     def LCM(x, y):
#         return (x * y) // GCD(x, y)
    
    
    # def Divisors(n):
    #     l = []
    #     for i in range(1, int(math.sqrt(n) + 1)):
    #         if (n % i == 0):
    #             if (n // i == i):
    #                 l.append(i)
    #             else:
    #                 l.append(i)
    #                 l.append(n//i)
    #     return l
    
    
    # def isprime(n):
    #     for i in range(2, int(math.sqrt(n))+1):
    #         if n % i == 0:
    #             return False
    #     return True

    # def isprime(n): 
    #     if(n <= 1): 
    #         return False
    #     if(n <= 3): 
    #         return True
    #     if(n % 2 == 0 or n % 3 == 0): 
    #         return False
    #     for i in range(5,int(math.sqrt(n) + 1), 6): 
    #         if(n % i...