#include <bits/stdc++.h>
using namespace std;
int a[1000 * 1000], b[1000 * 1000], n, m, q;
set<long long> r;
long long get(long long x) {
  set<long long>::iterator it = r.upper_bound(x);
  long long ans = abs(x - *it);
  if (it != r.begin()) {
    it--;
    ans = min(ans, x - *it);
  }
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m >> q;
  long long s = 0, p = 1, g1 = 0, g2 = 0;
  r.insert(1e17);
  r.insert(-1e17);
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    s += a[i] * p;
    p *= -1;
  }
  p = 1;
  for (int j = 1; j <= m; j++) {
    cin >> b[j];
    g1 += b[j] * p;
    g2 += b[j] * p * (-1);
    if (j >= n) {
      if ((j - n) % 2 == 0) {
        r.insert(g1);
        g1 -= b[j - n + 1];
        g2 += b[j - n + 1];
      } else {
        r.insert(g2);
        g1 += b[j - n + 1];
        g2 -= b[j - n + 1];
      }
    }
    p *= -1;
  }
  cout << get(s) << '\n';
  long long l, r, x;
  for (int i = 1; i <= q; i++) {
    cin >> l >> r >> x;
    if ((r - l + 1) % 2 != 0) {
      if (l & 1) {
        s += x;
      } else {
        s -= x;
      }
    }
    cout << get(s) << '\n';
  }
}
