#include <bits/stdc++.h>
using namespace std;
int n, m, q;
long long sumA = 0, temp = 0;
vector<long long> sumB;
long long solve() {
  int l = -1, r = sumB.size();
  while (r - l > 1) {
    int mid = (r + l) / 2;
    if (sumB[mid] <= sumA)
      l = mid;
    else
      r = mid;
  }
  if (l == -1) return sumB[r] - sumA;
  if (r == sumB.size()) return sumA - sumB[l];
  return min(sumB[r] - sumA, sumA - sumB[l]);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie();
  cin >> n >> m >> q;
  long long a[n], b[m], x;
  int l, r;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < m; i++) cin >> b[i];
  for (int i = 0; i < n; i++)
    if (i % 2 == 0)
      sumA += a[i];
    else
      sumA -= a[i];
  for (int i = 0; i < n; i++)
    if (i % 2 == 0)
      temp += b[i];
    else
      temp -= b[i];
  sumB.push_back(temp);
  for (int i = n; i < m; i++) {
    temp -= b[i - n];
    temp *= (-1ll);
    if ((n - 1) % 2 == 0)
      temp += b[i];
    else
      temp -= b[i];
    sumB.push_back(temp);
  }
  sort(sumB.begin(), sumB.end());
  cout << solve() << endl;
  for (int i = 0; i < q; i++) {
    cin >> l >> r >> x;
    if ((r - l + 1) % 2 != 0) {
      if (r % 2 == 1)
        sumA += x;
      else
        sumA -= x;
    }
    cout << solve() << endl;
  }
  return 0;
}
