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.

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = 't = int(input())\nwhile t>0:\n    t -= 1\n    \n    n, k, s = list(map(int, input().split()))\n    arr = list(map(int, input().split()))\n    temp = sorted(list(range(n)), key=lambda x:arr[x])\n    arr.sort()\n    ind = n-1\n    while ind > 1 and n >= 3:\n        if arr[ind] > s:\n            ind -= 1\n        elif arr[ind]+arr[ind-2] <= s:\n            arr[ind-1], arr[ind] = arr[ind], arr[ind-1]\n            temp[ind-1], temp[ind] = temp[ind], temp[ind-1] \n            ind -= 2\n        else:\n            ind -= 1\n    """\n    if n>=3:\n        if arr[0]+arr[2]<=s and arr[1]+arr[2]>s:\n            arr[0], arr[1] = arr[1], arr[0]\n            temp[0], temp[1] = temp[1], temp[0] \n    """       \n    ans = [str(i+1) for i in temp]\n    print(\' \'.join(ans))'
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: 13477