#include <stdio.h>
#include <math.h>
#include <string.h>

long vm[1000000], test, max, n, i, j, k, y[310], dif;

long modul(long num) {
	if (num < 0) {
		return -num;
	}
	return num;
}

void mark(long difference) {
	for (long i = 1; i * i <= difference; ++i) {
		if (difference % i == 0) {
			++vm[i];
			++vm[difference / i];
		}
	}
}

int main() {
	#ifndef ONLINE_JUDGE
	freopen("IDreduce.in", "r", stdin);
	freopen("IDreduce.out", "w", stdout);
	#endif
	scanf("%ld", &test);
	for (i = 1; i <= test; ++i) {
		scanf("%ld", &n);
		max = 0;
		for (j = 1; j <= n; ++j) {
			scanf("%ld", &y[j]);
			if (max < y[j]) {
				max = y[j];
			}
		}
		if (n == 1) {
			printf("1");
			continue;
		}		
		memset(vm, 0, sizeof(vm));
		for (j = 1; j < n; ++j) {
			for (k = j + 1; k <= n; ++k) {
				dif = modul(y[j] - y[k]);
				mark(dif);
			}
		}
		for (j = 1; j <= max; ++j) {
			if (vm[j] == 0) {
				printf("%ld\n", j);
			}
		}
	}
	return 0;
}
