#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
struct node {
  long long x, v;
} h[300010];
long long w[300010];
int c[300010];
int n;
long long vv[300010];
int k;
int lowbit(int x) { return x & (-x); }
int cmp(node x, node y) { return x.x > y.x; }
void add(int pos, long long x) {
  for (int i = pos; i <= k; i += lowbit(i)) {
    w[i] += x;
    c[i]++;
  }
}
void sum(int x, long long &tot, long long &num) {
  x--;
  while (x > 0) {
    num += 1ll * c[x];
    tot += w[x];
    x -= lowbit(x);
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &h[i].x);
  }
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &h[i].v);
    vv[i] = h[i].v;
  }
  sort(h + 1, h + 1 + n, cmp);
  sort(vv + 1, vv + 1 + n);
  k = unique(vv + 1, vv + 1 + n) - vv - 1;
  long long ans = 0ll;
  long long tot, num;
  long long s = 0ll;
  for (int i = 1; i <= n; i++) {
    int pos = lower_bound(vv + 1, vv + 1 + k, h[i].v) - vv;
    tot = 0ll, num = 0ll;
    sum(pos, tot, num);
    ans += labs((i - 1ll - num) * h[i].x - (s - tot));
    s += h[i].x;
    add(pos, h[i].x);
  }
  printf("%lld\n", ans);
}
