#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
const int MAXN = 1e6 + 7;
const double EPS = 1e-8;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, k1, k2;
  cin >> n >> k1 >> k2;
  int k = k1 + k2;
  vector<long long> a(n), b(n), c(n);
  multiset<long long> q;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> b[i];
    q.insert(abs(a[i] - b[i]));
  }
  for (long long i = 0; i < k; i++) {
    long long x = *q.rbegin();
    q.erase(q.find(x));
    if (!x) {
      q.insert(x + 1);
    } else {
      q.insert(x - 1);
    }
  }
  long long res = 0;
  for (long long x : q) {
    res += x * x;
  }
  cout << res;
}
