#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
long long b[N], c[N];
int n = 0, m = 0, q = 0;
int total = 0;
long long qry(long long x) {
  int idx = lower_bound(c, c + total, x) - c;
  return min(c[idx] - x, x - c[idx - 1]);
}
int main() {
  memset(b, 0, sizeof(b));
  scanf("%d%d%d", &n, &m, &q);
  long long sum = 0, x = 0;
  for (int i = 1; i <= n; ++i) {
    scanf("%I64d", &x);
    if (i & 1) {
      sum += x;
    } else {
      sum -= x;
    }
  }
  for (int i = 1; i <= m; ++i) {
    scanf("%I64d", &x);
    if (i & 1) {
      b[i] = b[i - 1] + 1LL * x;
    } else {
      b[i] = b[i - 1] - 1LL * x;
    }
    if (i >= n) {
      c[i - n] = ((i - n) & 1 ? -1LL : 1LL) * (b[i] - b[i - n]);
    }
  }
  c[m - n + 1] = -1e17;
  c[m - n + 2] = 1e17;
  total = m - n + 3;
  sort(c, c + total);
  int l = 0, r = 0;
  long long res = 0;
  res = qry(sum);
  printf("%I64d\n", res);
  while (q--) {
    scanf("%d%d%I64d", &l, &r, &x);
    if ((r - l + 1) & 1) {
      if (l & 1) {
        sum += x;
      } else {
        sum -= x;
      }
    }
    res = qry(sum);
    printf("%I64d\n", res);
  }
  return 0;
}
