#include <iostream>
#include <numeric>
#include <iomanip>
#include <cmath>
#include <climits>
#include <vector>
#include <algorithm>
using namespace std;

const int MOD = (int)(1e9 + 7);

bool isPrime(long long n) {
	for (long long i = 2;i * i <= n;i++) {
		if (n % i == 0) {
			return false;
		}
	}
	return n >= 2;
}

int main() {
	int t;cin >> t;
	for (int q = 1;q <= t;q++) {
		int n;cin >> n;
		vector<int> v;
		for (int i = 0;i < n;i++) {
			int value;cin >> value;
			v.push_back(value);
		}

		int current_length = 1, max_length = 1;

		int sub[1000];
		int numberOfSubArray = 1;
		sub[0] = 0;

		for (int i = 1;i < n;i++) {
			if (v[i] > v[i - 1]) {
				current_length++;
			}
			else {
				current_length = 1;
			}

			if (current_length > max_length) {
				max_length = current_length;
				numberOfSubArray = 1;
				sub[0] = i - max_length + 1;
			}
			else if (current_length == max_length) {
				sub[numberOfSubArray] = i - max_length + 1;
				numberOfSubArray++;
			}
		}

		cout << "Test #" << q << " : " << endl;
		cout << max_length << endl;
		for (int i = 0;i < numberOfSubArray;i++) {
			// In ra dãy con có max_length phần tử bắt đầu từ vị trí sub[i]

			for (int j = 0;j < max_length;j++) {
				cout << v[sub[i] + j] << " ";
			} 
			cout << endl;
		} 
	}
	return 0;
}