#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; set::iterator nextPosition(const set& x, int curr) { auto it = x.lower_bound(curr); if(it == x.end()) return x.begin(); else return it; } set::iterator prevPosition(set& x, int curr) { auto it = x.upper_bound(curr); if(it == x.begin()) return --x.end(); else return --it; } int getDiff(int a, int b, int len) { if(a <= b) return b - a; else return len - a + b; } int main() { int n, len; cin >> n >> len; set x, y; for(int i=0; i> a; x.insert(a); } for(int i=0; i> a; y.insert(a); } int curr = *x.begin(); long long ans = curr; x.erase(x.begin()); for(int i=0; i