/*
简单的贪心问题, 要求出最小的额外支出 只需要 一个正序一个逆序就可以
*/
#include<cstdio>
#include<cstring>#include<cstdlib>
int n,d,r;
int a[110],b[110];
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int cmp1(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
while(scanf("%d%d%d",&n,&d,&r)!=EOF)
{
if(!n&&!d&&!r) break;
for(int i = 0; i < n; i++)
scanf("%d",&a[i]);
for(int i = 0; i < n; i++)
scanf("%d",&b[i]);
qsort(a,n,sizeof(a[0]),cmp);
qsort(b,n,sizeof(b[0]),cmp1);
int temp=0;
for(int i = 0; i < n; i++)
{
if(d<=a[i]+b[i])
{
temp += a[i]+b[i]-d;
}
}
printf("%d\n",temp*r);
}
return 0;
}