#include using namespace std; typedef long long ll; typedef unsigned long long ull; int n,p; int count(vector &a,int b,int l){ auto left = lower_bound(a.begin(), a.end(),l-b); auto mid = lower_bound(a.begin(), a.end(),p-b); auto right = lower_bound(a.begin(), a.end(),l+p-b); return distance(a.begin(), left) + distance(mid, right); } int main(){ ll k; cin >> n >> k >> p; vector a(n), b(n); for(int i=0; i> a[i]; for(int i=0; i> b[i]; sort(a.begin(), a.end()); sort(b.begin(), b.end()); ll ok = -1, ng = 2*p, check = (ok+ng)/2; while(ng-ok>1){ check = (ok+ng)/2; ll accum = 0; for(int i=0; i