#include<iostream>#include<istream>#include<sstream>#include<vector>#include<stack>#include<list>#include<map>#include<set>#include<deque>#include<queue>#include<cstring>#include<unordered_map>#include<unordered_set>#include<algorithm>#include<numeric>#include<chrono>#include<ctime>#include<cmath>#include<cctype>#include<string>#include<cstdio>#include<iomanip>#include<thread>#include<mutex>#include<condition_variable>#include<functional>#include<iterator>usingnamespace std;constint maxn =107;int n, r, d,a[maxn],b[maxn];intmain(){while(cin >> n >> d >> r && n && d && r){for(int i =0; i < n; i++) cin >> a[i];for(int i =0; i < n; i++) cin >> b[i];sort(a, a + n);sort(b, b + n,greater<int>());longlongint ans =0;for(int i =0; i < n; i++){
ans +=max(0,a[i]+ b[i]- d);}
cout << ans * r << endl;}return0;}