#include using namespace std; typedef long long ll; int main(){ int n,p; ll k; cin>>n>>k>>p; vector a(n),b(n); for(int &x:a){ cin>>x; x%=p; } for(int &x:b){ cin>>x; x%=p; } sort(a.begin(),a.end()); sort(b.begin(),b.end()); int lo=0,hi=p; while(hi-lo>1){ int mid=(lo+hi)/2; ll cnt=0; int j1=n-1,j2=n-1,j3=n-1; for(int i=0;i=0&&a[i]+b[j1]>=mid)j1--; while(j2>=0&&a[i]+b[j2]>=p)j2--; while(j3>=0&&a[i]+b[j3]>=p+mid)j3--; cnt+=j1+1+j3-j2; } if(cnt>=k)hi=mid; else lo=mid; } cout<