t = int(input())
for j in range(t):
l1,r1,l2,r2 = map(int,input().split(' '))
if(l1<=l2<=r1):
print(l2)
elif(l2<=l1<=r2):
print(l1)
else:
print(l1+l2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
void cf()
{
ll l1,r1,l2,r2;
cin>>l1>>r1>>l2>>r2;
if(l2>r1||r2<l1||l1>r2||r1<l2)cout<<l1+l2<<endl;
else
{
cout<<max(l1,l2)<<endl;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll t;
cin>>t;
while(t--)
{
cf();
}
}
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |