/**
 *    author : Nikh1l
 *    created: 22.02.2021 10:06:34
**/
#include<bits/stdc++.h>

using namespace std;

using ll = int64_t;

void Learner() {

  ll n;
  cin >> n;
  vector<ll> v(n), pre(n + 1, 0), orignal(n);
  for (ll i = 0; i < n; i++) cin >> v[i];
  orignal = v;
  if(n == 1) return void (cout << "1\n1\n");
  sort(begin(v), end(v));
  pre[0] = v[0];
  for (ll i = 1; i < n; i++) pre[i] += pre[i - 1] + v[i];
  int index = n - 2;
  while(index >= 0 && pre[index] >= v[index+1])
    index--;
  // for (int i = n - 2; i >= 0; i--) {
    // cout << v[i] << " " << pre[i] << " " << v[i+1] << "\n";
  //   if(pre[i] < v[i])break;
  //   index = i;
    
  // }
  // cout << index << " ";
  // if (index == 0) {
  //   cout << n << "\n";
  //   for (int i = 1; i <= n; i++) cout << i << " \n"[i==n];
  // }
  // else {
  // cout << index << " ";
    set<int> s;
  for (ll i = index + 1; i < n; i++)
    s.insert(v[i]);
  v.clear();
  for (ll i = 0; i < n; i++){
    if(s.find(orignal[i]) != s.end())
      v.push_back(i+1);
  }
  cout << v.size() << "\n";
  for (auto i : v) cout << i << " ";
  cout << "\n";
  // }
  // int low = 0, high = n , mid, index = - 1;
  // while(low < high) {

  //   mid = (low + high) >> 1;
  //   int val = pre[mid];
  //   // cout << mid << " " << val << " ";
  //   for (int i = mid + 1; i < n; i++) {
  //     if(val < v[i]) {
  //       low = mid + 1;
  //       index  = low;
  //       // cout << "YES\n";
  //       break;
  //     }
  //     val += v[i];
  //   }
  //   if (low != mid + 1) high = mid - 1, index = mid;

  // }
  // cout << n - mid << "\n";
  

  
}

int32_t main() {

  ios::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  int _;
  cin >> _;
  while(_--) Learner();
}