//{ Driver Code Starts
// Initial Template for C++
#include <bits/stdc++.h>
using namespace std;
// } Driver Code Ends
class Solution {
public:
// Function to find equilibrium point in the array.
int findEquilibrium(vector<int> &arr) {
// code here
int sum0=0,sum1=0;
int start=0,end=arr.size()-1;
while(start<=end)
{
if(sum0==sum1)
{
if(start+2==end)
return start+1;
}
else if(sum0<sum1)
{
++start;
sum0+=arr[start];
}
else
{
--end;
sum1+=arr[end];
}
}
return -1;
}
};
//{ Driver Code Starts.
int main() {
int t;
cin >> t;
cin.ignore(); // To discard any leftover newline characters
while (t--) // while testcases exist
{
vector<int> arr;
string input;
getline(cin, input); // Read the entire line for the array elements
stringstream ss(input);
int number;
while (ss >> number) {
arr.push_back(number);
}
Solution ob;
cout << ob.findEquilibrium(arr) << endl;
cout << "~" << endl;
}
}
// } Driver Code Ends
Ly97IERyaXZlciBDb2RlIFN0YXJ0cwovLyBJbml0aWFsIFRlbXBsYXRlIGZvciBDKysKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKLy8gfSBEcml2ZXIgQ29kZSBFbmRzCgpjbGFzcyBTb2x1dGlvbiB7CiAgcHVibGljOgogICAgLy8gRnVuY3Rpb24gdG8gZmluZCBlcXVpbGlicml1bSBwb2ludCBpbiB0aGUgYXJyYXkuCiAgICBpbnQgZmluZEVxdWlsaWJyaXVtKHZlY3RvcjxpbnQ+ICZhcnIpIHsKICAgICAgICAvLyBjb2RlIGhlcmUKICAgICAgICBpbnQgc3VtMD0wLHN1bTE9MDsKICAgICAgICBpbnQgc3RhcnQ9MCxlbmQ9YXJyLnNpemUoKS0xOwogICAgICAgIHdoaWxlKHN0YXJ0PD1lbmQpCiAgICAgICAgewogICAgICAgICAgICBpZihzdW0wPT1zdW0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzdGFydCsyPT1lbmQpCiAgICAgICAgICAgICAgICByZXR1cm4gc3RhcnQrMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHN1bTA8c3VtMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgKytzdGFydDsKICAgICAgICAgICAgICAgIHN1bTArPWFycltzdGFydF07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAtLWVuZDsKICAgICAgICAgICAgICAgIHN1bTErPWFycltlbmRdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAtMTsKICAgIH0KfTsKCgovL3sgRHJpdmVyIENvZGUgU3RhcnRzLgoKaW50IG1haW4oKSB7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgY2luLmlnbm9yZSgpOyAvLyBUbyBkaXNjYXJkIGFueSBsZWZ0b3ZlciBuZXdsaW5lIGNoYXJhY3RlcnMKICAgIHdoaWxlICh0LS0pICAgLy8gd2hpbGUgdGVzdGNhc2VzIGV4aXN0CiAgICB7CiAgICAgICAgdmVjdG9yPGludD4gYXJyOwogICAgICAgIHN0cmluZyBpbnB1dDsKICAgICAgICBnZXRsaW5lKGNpbiwgaW5wdXQpOyAvLyBSZWFkIHRoZSBlbnRpcmUgbGluZSBmb3IgdGhlIGFycmF5IGVsZW1lbnRzCiAgICAgICAgc3RyaW5nc3RyZWFtIHNzKGlucHV0KTsKICAgICAgICBpbnQgbnVtYmVyOwogICAgICAgIHdoaWxlIChzcyA+PiBudW1iZXIpIHsKICAgICAgICAgICAgYXJyLnB1c2hfYmFjayhudW1iZXIpOwogICAgICAgIH0KCiAgICAgICAgU29sdXRpb24gb2I7CiAgICAgICAgY291dCA8PCBvYi5maW5kRXF1aWxpYnJpdW0oYXJyKSA8PCBlbmRsOwogICAgICAgIGNvdXQgPDwgIn4iIDw8IGVuZGw7CiAgICB9Cn0KLy8gfSBEcml2ZXIgQ29kZSBFbmRz