/*
京东编程题2:共同区间最大值的两倍。
if大法好。通过率:76%
输入区间 [l1,r1], [l2,r2], [l3,r3], 在重合但不相同的区间上选最大值,输出两数之和.
若不存在,输出-1.
输入:1 3 2 4 4 6
输出:8
说明:讨厌鬼选择[2,4]区间的4,小甜妹选择[4,6]区间的4
*/
#include <iostream>
using namespace std;
#include<algorithm>
int main2() {
int l1, r1, l2, r2, l3, r3; //输入区间范围
cin >> l1 >> r1 >> l2 >> r2 >> l3 >> r3;
int ans = -1; //答案初始化为-1
if (r1 < l2 && r2 < l3) { //如果没有重合区间,直接输出-1
cout << -1 << endl;
return 0;
}
if (r1 >= min(r2, r3) && r1 <= max(r2, r3)) { //r1为第2大
if ((r1 >= l2 && r1 <= r2) || (r1 >= l3 && r1 <= r3)) {
ans = 2 * r1;
}
}
else if (r2 >= min(r1, r3) && r1 <= max(r1, r3)) { //r2为第2大
if ((r2 >= l1 && r2 <= r1) || (r2 >= l3 && r2 <= r3)) {
ans = 2 * r2;
}
}
else if (r3 >= min(r1, r2) && r3 <= max(r1, r2)) { //r3为第2大
if ((r3 >= l1 && r3 <= r1) || (r3 >= l2 && r3 <= r2)) {
ans = 2 * r3;
}
}
else if (r1 == min(r1, min(r2, r3))) { //r1最小
if ((r1 >= l2 && r1 <= r2) || (r1 >= l3 && r1 <= r3)) {
ans = 2 * r1;
}
}
else if (r2 == min(r1, min(r2, r3))) { //r2最小
if ((r2 >= l1 && r2 <= r1) || (r2 >= l3 && r2 <= r3)) {
ans = 2 * r2;
}
}
else if (r3 == min(r1, min(r2, r3))) { //r3最小
if ((r3 >= l2 && r3 <= r2) || (r3 >= l1 && r3 <= r1)) {
ans = 2 * r3;
}
}
cout << ans << endl;
return 0;
}
// 64 位输出请用 printf("%lld")