#define _CRT_SECURE_NO_WARNINGS

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast")
//#pragma GCC target_ans("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")


//#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "algorithm"
#include "iomanip"
#include "stack"
#include "queue"
#include "string"
#include "vector"
#include "map"
#include "set"
#include "list"
#include "deque"
#include "complex"
#include "bitset"
#include "cmath"
#include "unordered_set"
#include "unordered_map"
#include "iterator"
#include <ctime>
#include <cassert>
#include "numeric"
#include <cstdio>
#include "random"
#include "chrono"
#include "cstring"


using namespace std;

#define maxi(a,b) a = max(a, b);
#define mini(a,b) a = min(a, b);

/////////////////
#define endl '\n'
/////////////////

#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define sqr(x) ((x) * (x))
#define SZ(a) ((int)(a.size()))
#define watch(x) cout << (#x) << " = " << x << endl;
//typedef long long ll;
typedef long double ld;

//#define int unsigned int
#define int long long
#define double ld
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector<pii> vpii;
typedef vector<vi> vvi;

template<class T>
void show(const vector<T> &a)
{
	for (T x : a)
		cout << x << " ";
	cout << endl;
}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
mt19937_64 rng_64(chrono::steady_clock::now().time_since_epoch().count());

vi xx = { 1, 0, -1, 0, 1, -1, 1, -1 };
vi yy = { 0, 1, 0, -1, -1, -1, 1, 1 };
string dir = "RDLU";
string travel = "ENWS";

const int N = 3e5 + 50, oo = 3e18 + 500;
//const int mod = 998244353;
const int mod = 1000000007;
//const int mod = 1e9 + 9;
const int M2 = 1000000093, x2 = 27162;
const int M1 = 1000000087, x1 = 241;
const double eps = 1e-18, PI = 2 * acos(0.0);
int n, m, k;
int cnt = 0;
int lg = 18;
vvi g;
vvi rg;
vi visit;


signed main()
{
	ios::sync_with_stdio(0);
	cout.tie(0); cin.tie(0);
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
	//freopen("paintbarn.in", "r", stdin);
	//freopen("paintbarn.out", "w", stdout);

	int t;
	cin >> t;

	while (t--)
	{
		cin >> n;
		g.clear();
		g.resize(110);
		for (int i = 0; i < n; i++)
		{
			cin >> k;
			g[k].push_back(i + 1);
		}

		//cout << " !!! ";
		for (int k = 1; k <= 100; k++)
		{
			if (SZ(g[k]) == 1)
			{
				cout << g[k].back();
			}
		}
		cout << endl;
	}
	
}

### Prompt

Your task is to create a cpp solution to the following problem:

You are given an array a consisting of n (n ≥ 3) positive integers. It is known that in this array, all the numbers except one are the same (for example, in the array [4, 11, 4, 4] all numbers except one are equal to 4).

Print the index of the element that does not equal others. The numbers in the array are numbered from one.

Input

The first line contains a single integer t (1 ≤ t ≤ 100). Then t test cases follow.

The first line of each test case contains a single integer n (3 ≤ n ≤ 100) — the length of the array a.

The second line of each test case contains n integers a_1, a_2, …, a_n (1 ≤ a_i ≤ 100).

It is guaranteed that all the numbers except one in the a array are the same.

Output

For each test case, output a single integer — the index of the element that is not equal to others.

Example

Input


4
4
11 13 11 11
5
1 4 4 4 4
10
3 3 3 3 10 3 3 3 3 3
3
20 20 10


Output


2
1
5
3

### Response

```cpp
#define _CRT_SECURE_NO_WARNINGS

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast")
//#pragma GCC target_ans("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")


//#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "algorithm"
#include "iomanip"
#include "stack"
#include "queue"
#include "string"
#include "vector"
#include "map"
#include "set"
#include "list"
#include "deque"
#include "complex"
#include "bitset"
#include "cmath"
#include "unordered_set"
#include "unordered_map"
#include "iterator"
#include <ctime>
#include <cassert>
#include "numeric"
#include <cstdio>
#include "random"
#include "chrono"
#include "cstring"


using namespace std;

#define maxi(a,b) a = max(a, b);
#define mini(a,b) a = min(a, b);

/////////////////
#define endl '\n'
/////////////////

#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define sqr(x) ((x) * (x))
#define SZ(a) ((int)(a.size()))
#define watch(x) cout << (#x) << " = " << x << endl;
//typedef long long ll;
typedef long double ld;

//#define int unsigned int
#define int long long
#define double ld
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector<pii> vpii;
typedef vector<vi> vvi;

template<class T>
void show(const vector<T> &a)
{
	for (T x : a)
		cout << x << " ";
	cout << endl;
}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
mt19937_64 rng_64(chrono::steady_clock::now().time_since_epoch().count());

vi xx = { 1, 0, -1, 0, 1, -1, 1, -1 };
vi yy = { 0, 1, 0, -1, -1, -1, 1, 1 };
string dir = "RDLU";
string travel = "ENWS";

const int N = 3e5 + 50, oo = 3e18 + 500;
//const int mod = 998244353;
const int mod = 1000000007;
//const int mod = 1e9 + 9;
const int M2 = 1000000093, x2 = 27162;
const int M1 = 1000000087, x1 = 241;
const double eps = 1e-18, PI = 2 * acos(0.0);
int n, m, k;
int cnt = 0;
int lg = 18;
vvi g;
vvi rg;
vi visit;


signed main()
{
	ios::sync_with_stdio(0);
	cout.tie(0); cin.tie(0);
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
	//freopen("paintbarn.in", "r", stdin);
	//freopen("paintbarn.out", "w", stdout);

	int t;
	cin >> t;

	while (t--)
	{
		cin >> n;
		g.clear();
		g.resize(110);
		for (int i = 0; i < n; i++)
		{
			cin >> k;
			g[k].push_back(i + 1);
		}

		//cout << " !!! ";
		for (int k = 1; k <= 100; k++)
		{
			if (SZ(g[k]) == 1)
			{
				cout << g[k].back();
			}
		}
		cout << endl;
	}
	
}

```