ARRANGE - Arranging Amplifiers

Scientists at the TIFR, Mumbai, are doing some cutting edge research on the Propagation of Signals. A young researcher comes up with a method of progressively amplifying signals, as they progress along a path. The method involves the placing of Amplifiers at regular distances along the line. Each amplifier is loaded with a number a(i), which is called its amplification factor. The method of amplification is simple: an amplifier which recieves a signal of strength X, and has Y loaded in it, results in a signal of strength Y^X [ Y to the power X]. In course of his research, the young scientist tries to find out, that given a set of n amplifiers loaded with a(0), a(1), a(2), ...., a(n-1), which particular permutation of these amplifiers, when placed at successive nodes, with the initial node given a signal of strength 1, produces the strongest output signal.

this is better illustrated by the following example : 5 6 4
4^(5^(6^1)) is the strength of the strongest signal, which is generated by putting amplifier loaded with 6 in first place, 5 in second place and 4 in third place.

Given a list of integers specifying the set of amplifiers at hand, you must find out the order in which they must be placed, to get the highest signal strength. In case their exist multiple permutations with same output, you should print the one which has bigger amplifiers first.


First line of input contains T, the number of test cases. For each test case first line contains a number ni, which is equal to the number of amplifiers available. Next line contains n integers, separated by spaces which denote the values with which the amplifiers are loaded.


Output contains T lines, one for each test case. Each line contains ni integers, denoting the order in which the amplifiers should be kept such that the result is strongest.


5 6 4
2 3

6 5 4
2 3

Constraints and Limits

T ≤ 20, Ni ≤ 10^5.
Each amplifier will be loaded with a positive integer p, 0 < p ≤ 10^9.
No two amplifier > 1 shall be loaded with the same integer.

hide comments
Ashot Minasyan : 2012-01-05 09:38:59

1 1 3

ink: 2012-01-03 15:28:07

what will be the output for
1 1 3 plz help

sudipto das: 2010-07-15 03:30:15

"No two amplifier > 1 shall be loaded with the same integer"-means 1 can occur multiple times & other positive integers can occur only once.........

:(){ :|: & };:: 2010-04-14 08:00:59

For the test case:

2 1

1 2 is the correct answer since 2^(1^1)>1^(2^1).

Tasnim Khan: 2009-12-18 20:38:12

2 1 = 1^2 = 1
1 2 = 2^1 = 2
So either u try 1 2 or 2 1 ; 1 2 will be printed.

Nikhil Garg: 2009-12-18 12:53:00

Statement is not clear.
2 1 and 1 2 produce the same answer
and 2 1 has bigger amplifier first so it should be printed but my solution which prints 1 2 got accepted !

Added by:Ajay Somani
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:CodeCraft 08 Anshuman Singh