#include <bits/stdc++.h>
using namespace std;
double p[200000], val[200000];
int N, M, C;
inline void checkmax(double &x, double c) {
  if (x < c) x = c;
}
struct SegmentTree {
  double ls[200000 << 2], rs[200000 << 2], sum[200000 << 2], best[200000 << 2];
  double ans;
  void up(int o) {
    sum[o] = sum[o << 1] + sum[o << 1 | 1];
    checkmax(best[o], best[o << 1]);
    checkmax(best[o], best[o << 1 | 1]);
    checkmax(best[o], rs[o << 1] + ls[o << 1 | 1]);
    ls[o] = std::max(ls[o << 1], sum[o << 1] + ls[o << 1 | 1]);
    rs[o] = std::max(rs[o << 1 | 1], sum[o << 1 | 1] + rs[o << 1]);
  }
  void build(int l, int r, int o) {
    best[o] = 0;
    if (l == r) {
      sum[o] = val[l];
      ls[o] = rs[o] = sum[o];
      checkmax(best[o], sum[o]);
    } else {
      int m = l + r >> 1;
      build(l, m, o << 1);
      build(m + 1, r, o << 1 | 1);
      up(o);
    }
  }
  double query(int l, int r, int o, int L, int R, double &LS, double &RS) {
    if (L <= l && r <= R) {
      LS = ls[o];
      RS = rs[o];
      checkmax(ans, best[o]);
      return sum[o];
    }
    int m = l + r >> 1;
    if (L > m) return query(m + 1, r, o << 1 | 1, L, R, LS, RS);
    if (R <= m) return query(l, m, o << 1, L, R, LS, RS);
    double ls1, rs1, ls2, rs2;
    double suml = query(l, m, o << 1, L, R, ls1, rs1);
    double sumr = query(m + 1, r, o << 1 | 1, L, R, ls2, rs2);
    LS = std::max(ls1, suml + ls2);
    RS = std::max(rs2, sumr + rs1);
    checkmax(ans, rs1 + ls2);
    return suml + sumr;
  }
} ly;
int main() {
  int x, pre = 0;
  scanf("%d%d%d", &N, &M, &C);
  for (int i = 0; i < N; i++) {
    scanf("%d", &x);
    if (i == 0) continue;
    val[i] = x - pre;
    pre = x;
  }
  for (int i = 1; i < N; i++) {
    scanf("%lf", &p[i]);
    p[i] /= 100;
    val[i] = val[i] / 2 - p[i] * C;
  }
  ly.build(1, N - 1, 1);
  N--;
  double ans = 0, LS, RS;
  for (int i = 0, a, b; i < M; i++) {
    scanf("%d%d", &a, &b);
    b--;
    ly.ans = 0;
    ly.query(1, N, 1, a, b, LS, RS);
    ans += ly.ans;
  }
  printf("%.10lf\n", ans);
  return 0;
}
