#include using namespace std; int main() { int64_t n, k, p; cin >> n >> k >> p; vector a(n), b(n); for (auto &&x : a) { cin >> x; } for (auto &&x : b) { cin >> x; } sort(a.begin(), a.end()); sort(b.begin(), b.end()); auto f = [&](int64_t r) { int64_t res = 0; for (auto &&x : a) { res += lower_bound(b.begin(), b.end(), r - x) - b.begin(); } return res; }; int64_t l = 0, r = p; while (r - l > 1) { int64_t mid = (l + r) / 2; if (f(mid + p) - f(p) + f(mid) < k) { l = mid; } else { r = mid; } } cout << l << endl; return 0; }