


Given ‘N’ = 3, ‘ARR’[] = 3, 2, 1.
The answer will be one because you can stack one over two over 3. Therefore only these can be inserted in the same tower.
The first line of input contains an integer ‘T’ denoting the number of test cases.
The first line of each test case contains a single integer ‘N’, where ‘N’ is the number of elements of the array.
The second line of each test case contains ‘N’ space-separated integers, denoting the array elements.
For each test case, print a single line containing a single integer denoting the minimum possible number of towers.
The output of each test case will be printed in a separate line.
You do not need to print anything, it has already been taken care of. Just implement the given function.
1 <= T <= 5
1 <= N <= 2000
1 <= ARR[ i ] <= 2000
Where ‘T’ is the total number of test cases, and 'N’ is the length of the array, and ‘ARR[ i ]’ is the array element at index ‘i’.
Time limit: 1 second.
The main idea is to use a array to maintain all the bases of different towers that we made. If for some cube, we find a cube greater than itself, we can place it and delete the cube we put it on from the set and insert the new base.