#include <bits/stdc++.h>
using namespace std;
clock_t start;
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
template <typename T>
void _F(const char *name, T arg1) {
  cerr << name << " = " << arg1 << '\n';
}
template <typename T, typename... Args>
void _F(const char *names, T arg1, Args... args) {
  const char *name = strchr(names, ',');
  cerr.write(names, name - names) << " = " << arg1 << '\n';
  _F(name + 2, args...);
}
template <typename T1, typename T2>
istream &operator>>(istream &in, pair<T1, T2> &q) {
  in >> q.first >> q.second;
  return in;
}
template <typename T1, typename T2>
ostream &operator<<(ostream &out, pair<T1, T2> &q) {
  out << q.first << " " << q.second;
  return out;
}
template <typename T1, typename T2>
pair<T1, T2> operator+(pair<T1, T2> p1, pair<T1, T2> p2) {
  return {p1.first + p2.first, p1.second + p2.second};
}
template <typename T1, typename T2>
pair<T1, T2> operator-(pair<T1, T2> p1, pair<T1, T2> p2) {
  return {p1.first - p2.first, p1.second - p2.second};
}
const long long N = 1e5 + 1;
void solve() {
  long long n, k1, k2;
  cin >> n >> k1 >> k2;
  long long a[n], b[n];
  for (long long i = 0; i < n; i++) cin >> a[i];
  multiset<pair<long long, long long> > s;
  for (long long i = 0; i < n; i++) {
    cin >> b[i];
    s.insert({(a[i] - b[i]) * (a[i] - b[i]), i});
  }
  long long cnt1 = 0, cnt2 = 0;
  for (long long i = 0; i < k1; i++) {
    auto it = end(s);
    it--;
    long long j = (*it).second;
    s.erase(it);
    if (a[j] > b[j]) {
      a[j]--;
      s.insert({(a[j] - b[j]) * (a[j] - b[j]), j});
    } else if (a[j] < b[j]) {
      a[j]++;
      s.insert({(a[j] - b[j]) * (a[j] - b[j]), j});
    } else {
      s.insert({0, j});
      cnt1++;
    }
  }
  for (long long i = 0; i < k2; i++) {
    auto it = end(s);
    it--;
    long long j = (*it).second;
    s.erase(it);
    if (a[j] > b[j]) {
      b[j]++;
      s.insert({(a[j] - b[j]) * (a[j] - b[j]), j});
    } else if (a[j] < b[j]) {
      b[j]--;
      s.insert({(a[j] - b[j]) * (a[j] - b[j]), j});
    } else {
      s.insert({0, j});
      cnt1++;
    }
  }
  long long ans = 0;
  if (cnt1 % 2) ans++;
  for (auto u : s) {
    ans += u.first;
  }
  cout << ans << '\n';
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long t = 1;
  start = clock();
  cout << fixed << setprecision(20);
  for (long long i = 1; i <= t; ++i) {
    solve();
  }
  return 0;
}
