/*
master.c
start Tue Jan  7 17:22:42 EST 1997
stop Tue Jan  7 17:27:05 EST 1997
Tue Jan  7 17:32:31 EST 1997
Tue Jan  7 17:50:29 EST 1997
*/
#include <stdio.h>
#define N 501
#define NINF -1
#define PINF 100000

typedef int UL;

int A[N];
int n;
int il[N],ir[N]; /* left and right endpoints for domain of mastery */
int sv[N]={PINF}, sl[N], si[N]={0};
int s; /* top of stack */

void scan(void) {
	int i;
	A[n+1] = PINF;
	for (i=1;i<=n+1;i++) {
		while( sv[s] <= A[i] && s>0 ) {
			/* Pop and complete the interval. */
			int sis=si[s];
			il[sis] = sl[s];
			ir[sis] = i-1;
			s--;
		}
		/* Push current interval */
		s++;
		si[s] = i;
		sv[s] = A[i];
		sl[s] = si[s-1]+1; /* one after previous record hi */
/*
printf("s=%d\n",s);
*/

	}
}

int main()
{
	UL d,i;
	scanf(" %lu ",&d);
	while (d--) {
		scanf(" %u",&n);
		for ( i=1;i<=n;i++) {
			scanf(" %u",&A[i]);
		}
		
		s=0;
		sv[0]=PINF;
		si[0]=0;
		scan();
		for ( i=1;i<=n;i++) {
			printf("%d %d\n",il[i],ir[i]);
		}
	}
	return 0;
}

