#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
int n, m, q;
long long suma[N], b[N], sumb[N];
long long solve(long long x) {
  int pos = lower_bound(sumb + n, sumb + m + 1, x) - sumb;
  if (pos > m) return x - sumb[m];
  if (pos == n) return sumb[pos] - x;
  return min(x - sumb[pos - 1], sumb[pos] - x);
}
int main() {
  scanf("%d %d %d", &n, &m, &q);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &suma[i]);
    if (i & 1)
      suma[i] = suma[i - 1] + suma[i];
    else
      suma[i] = suma[i - 1] - suma[i];
  }
  for (int i = 1; i <= m; i++) {
    scanf("%lld", &b[i]);
  }
  for (int i = 1; i <= n; i++) {
    if (i & 1)
      sumb[i] = sumb[i - 1] + b[i];
    else
      sumb[i] = sumb[i - 1] - b[i];
  }
  int f = -1;
  if (n & 1) f = 1;
  for (int i = 1; i <= m - n; i++) {
    sumb[i + n] = -(sumb[i + n - 1] - b[i]) + b[i + n] * f;
  }
  sort(sumb + n, sumb + m + 1);
  long long a = suma[n];
  printf("%lld\n", solve(a));
  for (int i = 1; i <= q; i++) {
    int l, r, x;
    scanf("%d %d %d", &l, &r, &x);
    if ((r - l + 1) & 1) {
      if (l & 1)
        a += x;
      else
        a -= x;
    }
    printf("%lld\n", solve(a));
  }
}
