#include <bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define ls long long
#define int long long
#define lf double
#define fl float
#define MAX (ls)(-9e18)
#define MIN (ls)9e18
const ls MOD = 1e9 + 7;
const ls MOD2 = 998244353;
#define pb push_back
#define mp make_pair
#define vec vector<ls>
#define vecb vector<bool>
#define ql queue<ls>
#define uml unordered_map<ls, ls>
#define ml map<ls, ls>
#define DQUE deque<ls> //CONTRACT AND EXPAND FROM BOTH SIDES
#define setl set<ls>   //CONTAINER OF UNIQUE ELEMENTS in ASC order
#define usetl unordered_set<ls>
#define stk stack<ls>
#define endl "\n"
const float pi = 3.141592653;
#define rsort(v) sort(v.begin(), v.end(), greater<ls>())
#define srt(v) sort(v.begin(), v.end())
#define fore(v, n)             \
    for (ls i = 0; i < n; i++) \
    {                          \
        cin >> v[i];           \
    }
#define rev(v) reverse(v.begin(), v.end())

// ls fast_pow(ls base, ls power)
// {
//     ls result = 1;
//     while (power > 0)
//     {

//         if (power % 2 == 1)
//         { // Can also use (power & 1) to make code even faster
//             result = (result * base) % MOD;
//         }
//         base = (base * base) % MOD2;
//         power = power / 2; // Can also use power >>= 1; to make code even faster
//     }
//     return result;
// }

// ll nCr(ll n, ll r)
// {
//     if (r > n - r)
//         r = n - r; // because C(n, r) == C(n, n - r)
//     ll ans = 1;
//     ll i;

//     for (i = 1; i <= r; i++)
//     {
//         ans = (ans * ((n - r + i) % MOD2)) % MOD2;
//         ans /= i;
//     }

//     return ans % MOD2;
// }

// __builtin_popcount(number); //used to count 1's in binary number in O(1) time complexity
// Number of leading zeroes : builtin_clz(x)
// Number of trailing zeroes : builtin_ctz(x)

// long long sq(ls x) { return 1ll * x * x; }

// ls gcd(ls a, ls b)
// {
//     if (a == 0)
//         return b;
//     return gcd(b % a, a);
// }
// ls LCM(ls a, ls b)
// {
//     return (a * b) / gcd(a, b);
// }

// long long power(long long a, long long b)
// {
//     if (b == 0)
//         return 1;
//     long long p = power(a, b / 2);
//     if (b & 1)
//         return p * p * a;
//     else
//         return p * p;
// }

int solve()
{
    int n;
    cin>>n;
    vec v(n);
    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }

    map<int, int> m;

    for (int i = 0; i < n;i++)
    {
        m[v[i]]++;
    }
    int num;
    for(auto i:m)
        if(m[i.first]==1)
            num = i.first;

    for (int i = 0; i < n;i++)
        if(num==v[i])
            return i;
    return 0;
}

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ls t = 1;
    cin >> t;
    // ls assignm = 1;
    while (t--)
    {
        // cout << "Case #" << assignm << ": ";
        cout<<solve()+1;
        cout << "\n";
        // assignm++;
    }
    return 0;
}
### Prompt

Create a solution in cpp for 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
#include <bits/stdc++.h>
using namespace std;
#define ll unsigned long long
#define ls long long
#define int long long
#define lf double
#define fl float
#define MAX (ls)(-9e18)
#define MIN (ls)9e18
const ls MOD = 1e9 + 7;
const ls MOD2 = 998244353;
#define pb push_back
#define mp make_pair
#define vec vector<ls>
#define vecb vector<bool>
#define ql queue<ls>
#define uml unordered_map<ls, ls>
#define ml map<ls, ls>
#define DQUE deque<ls> //CONTRACT AND EXPAND FROM BOTH SIDES
#define setl set<ls>   //CONTAINER OF UNIQUE ELEMENTS in ASC order
#define usetl unordered_set<ls>
#define stk stack<ls>
#define endl "\n"
const float pi = 3.141592653;
#define rsort(v) sort(v.begin(), v.end(), greater<ls>())
#define srt(v) sort(v.begin(), v.end())
#define fore(v, n)             \
    for (ls i = 0; i < n; i++) \
    {                          \
        cin >> v[i];           \
    }
#define rev(v) reverse(v.begin(), v.end())

// ls fast_pow(ls base, ls power)
// {
//     ls result = 1;
//     while (power > 0)
//     {

//         if (power % 2 == 1)
//         { // Can also use (power & 1) to make code even faster
//             result = (result * base) % MOD;
//         }
//         base = (base * base) % MOD2;
//         power = power / 2; // Can also use power >>= 1; to make code even faster
//     }
//     return result;
// }

// ll nCr(ll n, ll r)
// {
//     if (r > n - r)
//         r = n - r; // because C(n, r) == C(n, n - r)
//     ll ans = 1;
//     ll i;

//     for (i = 1; i <= r; i++)
//     {
//         ans = (ans * ((n - r + i) % MOD2)) % MOD2;
//         ans /= i;
//     }

//     return ans % MOD2;
// }

// __builtin_popcount(number); //used to count 1's in binary number in O(1) time complexity
// Number of leading zeroes : builtin_clz(x)
// Number of trailing zeroes : builtin_ctz(x)

// long long sq(ls x) { return 1ll * x * x; }

// ls gcd(ls a, ls b)
// {
//     if (a == 0)
//         return b;
//     return gcd(b % a, a);
// }
// ls LCM(ls a, ls b)
// {
//     return (a * b) / gcd(a, b);
// }

// long long power(long long a, long long b)
// {
//     if (b == 0)
//         return 1;
//     long long p = power(a, b / 2);
//     if (b & 1)
//         return p * p * a;
//     else
//         return p * p;
// }

int solve()
{
    int n;
    cin>>n;
    vec v(n);
    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }

    map<int, int> m;

    for (int i = 0; i < n;i++)
    {
        m[v[i]]++;
    }
    int num;
    for(auto i:m)
        if(m[i.first]==1)
            num = i.first;

    for (int i = 0; i < n;i++)
        if(num==v[i])
            return i;
    return 0;
}

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ls t = 1;
    cin >> t;
    // ls assignm = 1;
    while (t--)
    {
        // cout << "Case #" << assignm << ": ";
        cout<<solve()+1;
        cout << "\n";
        // assignm++;
    }
    return 0;
}
```