#include <bits/stdc++.h>
using namespace std;
char _;
const int maxN = 100 * 1000 + 5;
const int mod = 1000 * 1000 * 1000 + 7;
const int base = 701;
const int SQ = 500;
const int maxL = 17;
int a[maxN];
int b[maxN];
long long fabs(long long x) {
  if (x < 0) return -x;
  return x;
}
set<long long> ss;
long long print(long long x) {
  auto it = ss.lower_bound(-x);
  long long ans = (1LL) * mod * mod;
  if (it != ss.end())
    ans = min(ans, fabs(x + *it));
  else
    return fabs(x + *ss.rbegin());
  if (it == ss.begin()) return ans;
  it--;
  ans = min(ans, fabs(*it + x));
  return ans;
}
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, m, q;
  cin >> n >> m >> q;
  long long sum = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (i % 2)
      sum -= a[i];
    else
      sum += a[i];
  }
  for (int i = 0; i < m; i++) cin >> b[i];
  long long sumo = 0, sume = 0;
  for (int i = 0; i < m; i++) {
    if (i % 2)
      sumo += b[i];
    else
      sume += b[i];
    if (i >= n) {
      if ((i - n) % 2)
        sumo -= b[i - n];
      else
        sume -= b[i - n];
    }
    if (i >= n - 1) {
      long long tmp = 0;
      if ((i - n + 1) % 2)
        tmp = sume - sumo;
      else
        tmp = sumo - sume;
      ss.insert(tmp);
    }
  }
  cout << print(sum) << endl;
  for (int i = 0; i < q; i++) {
    int l, r, x;
    cin >> l >> r >> x;
    l--;
    if ((r - l) % 2) {
      if (l % 2)
        sum -= x;
      else
        sum += x;
    }
    cout << print(sum) << endl;
  }
  return 0;
}
