#include <iostream>
#include<math.h>
#include<string.h>
#include<set>
#include<map>
using namespace std;
int a[200010];
int main() {
    int T;
    cin>>T;
    while(T--){
        int n;
        cin>>n;
        map<long long,long long> m;
        for(int i=0;i<n;i++){
            cin>>a[i];
            if(m.find(a[i])!=m.end()){
                m[a[i]] = m[a[i]]+1;
            } else {
                m[a[i]] = 1;
            }
        }
        long long deadVal=0,cum = 0;
        map<long long,long long>::iterator it = m.begin();
        long long tmp1 = (it->first);
        long long tmp2 = (it->second);
        long long p = tmp1 * tmp2;
        it++;
        for(; it!=m.end();it++){
            if(p+cum<it->first){
                deadVal = tmp1;
            }
            cum = cum + p;
            tmp1 = (it->first);
            tmp2 = (it->second);
            p = tmp1 * tmp2;
        }
        int count = 0;
        for(int i=0;i<n;i++){
            if(a[i]>deadVal){
                count++;
            }
        }
        cout<<count<<endl;
        bool first = true;
        for(int i=0;i<n;i++){
            if(a[i] > deadVal){
                if(!first){
                    cout<<" ";
                } else {
                    first = false;
                }
                cout<< i+1;
            }
        }
        cout<<endl;
    }
    return 0;
}
