#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k1, k2;
  cin >> n >> k1 >> k2;
  long long int a[n + 5];
  long long int b[n + 5], i;
  for (i = 1; i <= n; i++) cin >> a[i];
  for (i = 1; i <= n; i++) cin >> b[i];
  long long int sum = 0;
  long long int c[n + 5];
  multiset<long long int, greater<long long int>> s;
  for (i = 1; i <= n; i++) {
    c[i] = abs(a[i] - b[i]);
    sum += c[i];
    if (c[i] != 0) s.insert(c[i]);
  }
  sort(c + 1, c + n + 1);
  if (k1 + k2 >= sum) {
    long long int temp = abs(k1 + k2 - sum);
    if (temp % 2)
      cout << 1;
    else
      cout << 0;
    return 0;
  } else {
    long long int k = k1 + k2;
    while (k > 0) {
      auto it = s.begin();
      long long int top = *s.begin();
      if (top != 0) {
        top--;
        k--;
        s.erase(it);
        if (top != 0) s.insert(top);
      }
    }
    long long int ans = 0;
    for (auto it : s) {
      long long int var = (it);
      ans += var * var;
    }
    cout << ans << "\n";
  }
}
