Sereja have array A' that contain N integers. Now Sereja want to permute elements of the array, he want to use some permutation p, such that A[i] = A'[p[i]], where A - new array. 

Lets function f(A,i) = S - A[i] - A[i +1] - ... - A[j], where j is the maximum possible index, such that A[i] + A[i + 1] + ... + A[j] <= S, if A[i] > S, f(A, i) = S.

Help Sereja to find such permutation p, such that (f(A, 1) + f(A, 2) + ... f(A, k))/k will be as low as possible. 

-----Input-----

First line of input contain integer T - number of testcases. Next lines contain T testcases. First line of each testcase contain three integers N, k, S. Next line contain N integers - array A'.

-----Output-----

For each testcase output N numbers in one line - permutation p. 

-----Constraints-----
- 1 ≤ T ≤ 10
- 1 ≤ N ≤ 2000
- 1 ≤ k ≤ N
- 1 ≤ A'[i] ≤ 10^4
- 1 ≤ S ≤ 10^9

-----Example-----
Input:
2
3 2 4
3 4 1
4 4 1
1 1 1 1

Output:
2 1 3
4 3 2 1


-----Scoring-----

Suppose Sum will be sum of yours (f(A, 1) + f(A, 2) + ... f(A, k))/k per each testcase.  
Lets B will be the smallest such sum. Your score will be equal to B/Sum. Lower scores will earn more points.

We have 20 official test files. You must correctly solve all test files to receive OK. During the contest, your overall score is the sum of the scores on the first 4 test files. After the contest, all solutions will be rescored by the sum of the scores on the rest 16 test files. Note, that public part of the tests may not contain some border cases.

Difficulty: interview

Starter code:

Solutions:
# Md. Khairullah Gaurab
# SUST, CSE, 20th Batch
#  gaurab.cse.sust@gmail.com


test = int(input());

for i in range(test):
    N, S, K = list(map(int,input().split()));
    lis = list(map(int,input().split()));
    ans = [i+1 for i in range(N)] ;
    ans.sort(reverse=True);
    for j in range(N):
        print(ans[j],end=' ');
    print('')



test = int(input());

for i in range(test):
    N, S, K = list(map(int,input().split()));
    lis = list(map(int,input().split()));
    ans = [i+1 for i in range(N)] ;
    ans.sort(reverse=True);
    for j in range(N):
        print(ans[j],end=' ');
    print('')


T = int(input())
for t in range(T):
    (n,k,s) = [int(x) for x in input().split()]
    input()

    ans = ""
    for i in range(1,n+1):
        ans += str(i) + " "
    print(ans)


for i in range(int(input())):
	l=input().split()
	n=int(l[0])
	k=int(l[1])
	s=int(l[2])
	ni=input().split()
	num=[int(x.strip()) for x in ni]
	p=sorted(list(range(len(num))),key=num.__getitem__)
	for j in p:
		print(j+1, end=' ')
	print()

t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    ind = n-1
    while ind > 1 and n >= 3:
        if arr[ind] > s:
            ind -= 1
        elif arr[ind]+arr[ind-2] <= s:
            arr[ind-1], arr[ind] = arr[ind], arr[ind-1]
            temp[ind-1], temp[ind] = temp[ind], temp[ind-1] 
            ind -= 2
        else:
            ind -= 1
    """
    if n>=3:
        if arr[0]+arr[2]<=s and arr[1]+arr[2]>s:
            arr[0], arr[1] = arr[1], arr[0]
            temp[0], temp[1] = temp[1], temp[0] 
    """       
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    ind = n-1
    while ind > 1 and n >= 3:
        if arr[ind] > s:
            ind -= 1
        elif arr[ind]+arr[ind-2] <= s:
            arr[ind-1], arr[ind] = arr[ind], arr[ind-1]
            temp[ind-1], temp[ind] = temp[ind], temp[ind-1] 
            ind -= 2
        else:
            ind -= 1
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    ind = n-1
    while ind > 0:
        if arr[ind] > s:
            ind -= 1
        elif arr[ind]+arr[ind-1] > s and arr[ind]+arr[0] <= s:
            temp = temp[ind:ind+1] + temp[:ind] + temp[ind+1:] 
            break
        else:
            break
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    for j in range(5):
        for i in range(n-1):
            if arr[i]+arr[i+1] > s:
                arr[i], arr[i+1] = arr[i+1], arr[i]
                temp[i], temp[i+1] = temp[i+1], temp[i]
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    for j in range(5):
        for i in range(n-1):
            if arr[i]+arr[i+1] <= s:
                arr[i], arr[i+1] = arr[i+1], arr[i]
                temp[i], temp[i+1] = temp[i+1], temp[i]
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    arr.sort()
    for i in range(n-1):
        if arr[i]+arr[i+1] <= s:
            arr[i], arr[i+1] = arr[i+1], arr[i]
            temp[i], temp[i+1] = temp[i+1], temp[i]
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x], reverse=True)
    arr = sorted(arr, reverse=True)
    ind = 0
    while ind<n and arr[ind]>s:
        ind += 1
    
    temp = sorted(temp[ind:]) + temp[:ind]
        
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x], reverse=True)
    arr = sorted(arr, reverse=True)
    ind = 0
    while ind<n and arr[ind]>s:
        ind += 1
    
    temp = temp[ind:] + temp[:ind]
        
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x])
    """
    arr = sorted(arr, reverse=True)
    ind = 0
    while arr[ind]>s:
        ind += 1
    temp = temp[ind:] + temp[:ind]
    """    
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x], reverse=True)
    arr = sorted(arr, reverse=True)
    ind = 0
    while arr[ind]>s:
        ind += 1
    #temp = temp[ind:] + temp[:ind]    
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = sorted(list(range(n)), key=lambda x:arr[x], reverse=True)
    arr = sorted(arr, reverse=True)
    ind = 0
    while arr[ind]>s:
        ind += 1
    temp = temp[ind:] + temp[:ind]    
    ans = [str(i+1) for i in temp]
    print(' '.join(ans))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    #temp = range(n, 0, -1)
    #random.shuffle(temp)
    #random.shuffle(temp)
    temp = sorted(list(range(n)), key=lambda x:arr[x], reverse=True)
    arr = sorted(arr, reverse=True)
    ind = 0
    while arr[ind]>s:
        ind += 1
    temp = temp[ind:] + temp[:ind]    
    ans = [str(i+1) for i in temp]
    print(' '.join(ans[::-1]))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    #temp = range(n, 0, -1)
    #random.shuffle(temp)
    #random.shuffle(temp)
    temp = sorted(list(range(n)),key=lambda x:arr[x],reverse=True)
    ans = [str(i+1) for i in temp]
    print(' '.join(ans[::-1]))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = list(range(n, 0, -1))
    random.shuffle(temp)
    #random.shuffle(temp)
    ans = [str(i) for i in temp]
    print(' '.join(ans[::-1]))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = list(range(n, 0, -1))
    random.shuffle(temp)
    random.shuffle(temp)
    ans = [str(i) for i in temp]
    print(' '.join(ans[::-1]))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = list(range(1, n+1))
    random.shuffle(temp)
    random.shuffle(temp)
    ans = [str(i) for i in temp]
    print(' '.join(ans[::-1]))

import random
t = int(input())
while t>0:
    t -= 1
    
    n, k, s = list(map(int, input().split()))
    arr = list(map(int, input().split()))
    temp = list(range(1, n+1))
    random.shuffle(temp)
    ans = [str(i) for i in temp]
    print(' '.join(ans[::-1]))