#include <bits/stdc++.h>
#include <chrono>
using namespace std;
using namespace chrono;
// "AJEET JAIN"----"JAI JINENDRA"
/* "णमो अरिहंताणं",
"णमो सिद्धाणं",
"णमो आयरियाणं",
"णमो उवज्झायाणं",
"णमो लोए सव्वसाहूणं",
"",
"एसो पंच नमोक्कारो, सव्व पावप्पणासणो",
"मंगलाणं च सव्वेसिं, पडमं हवै मंगलं", */
// Aliases to op
using ll = long long;
using ull = unsigned long long;
using ld = double;
using vll = vector<ll>;
// Constants
constexpr ll INF = 4e18;
constexpr ld EPS = 1e-9;
constexpr ll MOD = 1e9 + 7;
// Macros
#define F first
#define S second
#define all(x) begin(x), end(x)
#define allr(x) rbegin(x), rend(x)
#define py cout<<"YES\n";
#define pn cout<<"NO\n";
#define forn(i,n) for(int i=0;i<n;i++)
#define for1(i,n) for(int i=1;i<=n;i++)
// #define insert push_back
#define pb push_back
#define MP make_pair
#define endl '\n'
/*
remove substring or subarray ---> try to think about sliding w
*/
/*
Golden Rule
1) problem is easy
2) proofs is easy
3) implementation is easy
/*
ROUGH --
cnt the subaary whose sum = k
calcult prefix sum of the array
pre[j] - pre[i - 1] == k ( 1 <= r , l <= n)
pre[j] - k = pre[i - 1];
*/
void AJNJ(){
ll n, k;
cin >> n >> k;
vector<ll> b(n + 1);
for(int i = 1; i <= n; i++){
cin >> b[i];
}
vector<ll> pre(n + 1, 0);
map<ll, ll> mp, mp1;
mp[0] = 0; // FIXED
mp1[0] = 0;
for(int i = 1; i <= n; i++){
pre[i] = pre[i - 1] + b[i];
if(mp.find(pre[i]) == mp.end()){
mp[pre[i]] = i; // first occurrence
}
mp1[pre[i]] = i; // last occurrence
}
ll maxi = INT_MIN;
ll mini = INT_MAX;
for(int j = n; j >= 1; j--){
if(mp.find(pre[j] - k) != mp.end()){
maxi = max(maxi, j - mp[pre[j] - k]);
}
if(mp1.find(pre[j] - k) != mp1.end()){
mini = min(mini, j - mp1[pre[j] - k]);
}
}
if(maxi == INT_MIN) maxi = -1;
if(mini == INT_MAX) mini = -1;
cout << maxi << " " << mini << endl;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T = 1;
cin>>T;
auto start1 = high_resolution_clock::now();
while(T--){
AJNJ();
}
auto stop1 = high_resolution_clock::now();
auto duration = duration_cast<microseconds>(stop1 - start1);
cerr << "Time: " << duration . count() / 1000 << " ms" << endl;
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgI2luY2x1ZGUgPGNocm9ubz4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICB1c2luZyBuYW1lc3BhY2UgY2hyb25vOwogICAgLy8gIkFKRUVUIEpBSU4iLS0tLSJKQUkgSklORU5EUkEiICAKICAgIC8qICLgpKPgpK7gpYsg4KSF4KSw4KS/4KS54KSC4KSk4KS+4KSj4KSCIiwKICAgICAgICAi4KSj4KSu4KWLIOCkuOCkv+CkpuCljeCkp+CkvuCko+CkgiIsCiAgICAgICAgIuCko+CkruCliyDgpIbgpK/gpLDgpL/gpK/gpL7gpKPgpIIiLAogICAgICAgICLgpKPgpK7gpYsg4KSJ4KS14KSc4KWN4KSd4KS+4KSv4KS+4KSj4KSCIiwKICAgICAgICAi4KSj4KSu4KWLIOCksuCli+CkjyDgpLjgpLXgpY3gpLXgpLjgpL7gpLngpYLgpKPgpIIiLAogICAgICAgICIiLAogICAgICAgICLgpI/gpLjgpYsg4KSq4KSC4KSaIOCkqOCkruCli+CkleCljeCkleCkvuCksOCliywg4KS44KS14KWN4KS1IOCkquCkvuCkteCkquCljeCkquCko+CkvuCkuOCko+CliyIsCiAgICAgICAgIuCkruCkguCkl+CksuCkvuCko+CkgiDgpJog4KS44KS14KWN4KS14KWH4KS44KS/4KSCLCDgpKrgpKHgpK7gpIIg4KS54KS14KWIIOCkruCkguCkl+CksuCkgiIsICAgKi8KICAgIAogICAgCiAgICAvLyBBbGlhc2VzIHRvIG9wCiAgICB1c2luZyBsbCA9IGxvbmcgbG9uZzsKICAgIHVzaW5nIHVsbCA9IHVuc2lnbmVkIGxvbmcgbG9uZzsKICAgIHVzaW5nIGxkID0gZG91YmxlOwogICAgdXNpbmcgdmxsID0gdmVjdG9yPGxsPjsKICAgIAogICAgCiAgICAvLyBDb25zdGFudHMKICAgIGNvbnN0ZXhwciBsbCBJTkYgPSA0ZTE4OwogICAgY29uc3RleHByIGxkIEVQUyA9IDFlLTk7CiAgICBjb25zdGV4cHIgbGwgTU9EID0gMWU5ICsgNzsKCgogICAgCiAgICAvLyBNYWNyb3MKICAgICNkZWZpbmUgRiBmaXJzdAogICAgI2RlZmluZSBTIHNlY29uZAogICAgI2RlZmluZSBhbGwoeCkgYmVnaW4oeCksIGVuZCh4KQogICAgI2RlZmluZSBhbGxyKHgpIHJiZWdpbih4KSwgcmVuZCh4KQogICAgI2RlZmluZSBweSBjb3V0PDwiWUVTXG4iOwogICAgI2RlZmluZSBwbiBjb3V0PDwiTk9cbiI7CiAgICAjZGVmaW5lIGZvcm4oaSxuKSBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgI2RlZmluZSBmb3IxKGksbikgZm9yKGludCBpPTE7aTw9bjtpKyspCgogICAgLy8gI2RlZmluZSBpbnNlcnQgcHVzaF9iYWNrCiAgICAjZGVmaW5lIHBiIHB1c2hfYmFjawogICAgI2RlZmluZSBNUCBtYWtlX3BhaXIKICAgICNkZWZpbmUgZW5kbCAnXG4nCgogICAgLyoKICAgICAgcmVtb3ZlIHN1YnN0cmluZyBvciBzdWJhcnJheSAtLS0+IHRyeSB0byB0aGluayBhYm91dCBzbGlkaW5nIHcKICAgIAogICAgKi8gICAgICAgICAgICAgICAgICAKCiAgICAgLyoKICAgICAgCiAgICAgR29sZGVuIFJ1bGUKCiAgICAgMSkgcHJvYmxlbSBpcyBlYXN5CiAgICAgMikgcHJvb2ZzIGlzIGVhc3kKICAgICAzKSBpbXBsZW1lbnRhdGlvbiBpcyBlYXN5CiAgICAgCiAgICAgLyoKICAgICAgICAgUk9VR0ggLS0KICAgICAgICAgY250IHRoZSBzdWJhYXJ5IHdob3NlIHN1bSA9IGsKICAgICAgICAgY2FsY3VsdCBwcmVmaXggc3VtIG9mIHRoZSBhcnJheQogICAgICAgICBwcmVbal0gLSBwcmVbaSAtIDFdID09IGsgKCAxIDw9IHIgLCBsIDw9IG4pCiAgICAgICAgIHByZVtqXSAtIGsgPSBwcmVbaSAtIDFdOwogICAgICAgICAgICAgICAgIAogICAgICovCiAgICAKICB2b2lkIEFKTkooKXsKICAgIGxsIG4sIGs7CiAgICBjaW4gPj4gbiA+PiBrOwoKICAgIHZlY3RvcjxsbD4gYihuICsgMSk7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgY2luID4+IGJbaV07CiAgICB9CgogICAgdmVjdG9yPGxsPiBwcmUobiArIDEsIDApOwogICAgbWFwPGxsLCBsbD4gbXAsIG1wMTsKCiAgICBtcFswXSA9IDA7ICAgICAgLy8gRklYRUQKICAgIG1wMVswXSA9IDA7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgIHByZVtpXSA9IHByZVtpIC0gMV0gKyBiW2ldOwoKICAgICAgICBpZihtcC5maW5kKHByZVtpXSkgPT0gbXAuZW5kKCkpewogICAgICAgICAgICBtcFtwcmVbaV1dID0gaTsgICAvLyBmaXJzdCBvY2N1cnJlbmNlCiAgICAgICAgfQogICAgICAgIG1wMVtwcmVbaV1dID0gaTsgICAgICAvLyBsYXN0IG9jY3VycmVuY2UKICAgIH0KCiAgICBsbCBtYXhpID0gSU5UX01JTjsKICAgIGxsIG1pbmkgPSBJTlRfTUFYOwoKICAgIGZvcihpbnQgaiA9IG47IGogPj0gMTsgai0tKXsKICAgICAgICBpZihtcC5maW5kKHByZVtqXSAtIGspICE9IG1wLmVuZCgpKXsKICAgICAgICAgICAgbWF4aSA9IG1heChtYXhpLCBqIC0gbXBbcHJlW2pdIC0ga10pOwogICAgICAgIH0KICAgICAgICBpZihtcDEuZmluZChwcmVbal0gLSBrKSAhPSBtcDEuZW5kKCkpewogICAgICAgICAgICBtaW5pID0gbWluKG1pbmksIGogLSBtcDFbcHJlW2pdIC0ga10pOwogICAgICAgIH0KICAgIH0KCiAgICBpZihtYXhpID09IElOVF9NSU4pIG1heGkgPSAtMTsKICAgIGlmKG1pbmkgPT0gSU5UX01BWCkgbWluaSA9IC0xOwoKICAgIGNvdXQgPDwgbWF4aSA8PCAiICIgPDwgbWluaSA8PCBlbmRsOwp9CgoKICAgIAogICAgaW50IG1haW4oKXsKICAgICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgICAgICBjaW4udGllKDApOwogICAgICAgIGNvdXQudGllKDApOwogICAgICAgIGludCBUID0gMTsKICAgICAgICBjaW4+PlQ7CiAgICAgICAgYXV0byBzdGFydDEgPSBoaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpOwogICAgICAgIHdoaWxlKFQtLSl7CiAgICAgICAgICAgIEFKTkooKTsKICAgICAgICB9CiAgICAgICAgYXV0byBzdG9wMSA9IGhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CiAgICAgICAgYXV0byBkdXJhdGlvbiA9IGR1cmF0aW9uX2Nhc3Q8bWljcm9zZWNvbmRzPihzdG9wMSAtIHN0YXJ0MSk7CiAgICAgICAgY2VyciA8PCAiVGltZTogIiA8PCBkdXJhdGlvbiAuIGNvdW50KCkgLyAxMDAwIDw8ICIgbXMiIDw8IGVuZGw7CiAgICAKICAgICAgICByZXR1cm4gMDsKICAgIH0=