#include<iostream>  
#include<math.h>
#include<iomanip> 
#include <string>
#include<algorithm>
#include <vector>
#include<set>
#include<queue>  
#include<deque>
#include<stack>
#include<map>
#define all(v) v.begin(), v.end()
#define Lamine_YAMAL ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
typedef long long ll;
typedef double ld;
using namespace std;
int gcd(int a, int b) {
    while (b != 0) {
        int x = a;
        a = b;
        b = x % b;
    }
    return a;
}
int lcm(int a, int b) {
    return (a * b) / gcd(a, b);
}
long long rev_num(long long n) {
    long long rev = 0;
    while (n > 0)
    {
        int digit = n % 10;
        rev = rev * 10 + digit;
        n /= 10;
    }
    return rev;
}
bool isPrime(long long n) {
    if (n <= 1) return false;
    for (int i = 2; i * i <= n; i++)
        if (n % i == 0) return false;
    return true;
}
bool palindrome_string(string s)
{
    string t = s;
    reverse(t.begin(), t.end());
    return s == t;
}
bool islucky(long long n) {
    while (n > 0) {
        int digit = n % 10;
        if (digit != 4 && digit != 7) {
            return false;
        }
        n /= 10;
    }
    return true;
}
bool preceed(ll x, ll y) {
    return x > y;
}
bool compare(pair<string, ll> a, pair<string, ll> b) {
    if (a.second != b.second)
        return a.second > b.second;
    return a.first < b.first;
}
//priority_queue<int, vector<int>, greater<int>> ans;

int main() {

    Lamine_YAMAL
        //freopen("mex.in", "r", stdin);
        int t; cin >> t;
    while (t--) {
        int n, s; cin >> n >> s; vector<int>v(n);
        for (int i = 0;i < n;i++)
            cin >> v[i];
      
        ll sum = s;  pair<int, int>ans;
        int l = 0; int r = l; 
        int len = 0;
        while (r < n) {
            
            sum += v[r];

            while (sum < 0) {
                sum -= v[l];
                l++;
            }

            len = max(len, r - l + 1);

                if (len) {
                    ans.first = l;
                    ans.second = r;
                }
           
            r++;
        }

        if (len) 
            cout << ans.first+1 << " "
                << ans.second+1 << endl;
        else
            cout << -1<<endl;


        }

    
        return 0;
}

