#include <bits/stdc++.h>
using namespace std;
vector<long long> v;
long long power(long long a, long long b, long long m = 1000000007) {
  if (b == 0) return 1;
  if (b == 1) return a;
  long long res = power(a, b / 2, m);
  res = (res * res) % m;
  if (b & 1) res = (res * a) % m;
  return res;
}
long long modinv(long long a, long long m = 1000000007) {
  return power(a, m - 2, m);
}
long long add(long long a, long long b, long long m = 1000000007) {
  long long c = (a % m + b % m);
  if (c >= m) c -= m;
  return c;
}
long long sub(long long a, long long b, long long m = 1000000007) {
  long long c = (a % m - b % m);
  if (c < 0) c += m;
  return c;
}
long long mul(long long a, long long b, long long m = 1000000007) {
  return (a * b) % m;
}
long long bs(long long val) {
  long long n = v.size();
  if (val <= v[0]) return abs(val - v[0]);
  if (val >= v[n - 1]) return abs(val - v[n - 1]);
  long long low = 0, high = n - 1, mid, ans;
  while (low <= high) {
    mid = (low + high) / 2;
    if (v[mid] >= val) {
      ans = mid;
      high = mid - 1;
    } else
      low = mid + 1;
  }
  return min(abs(val - v[ans]), abs(val - v[ans - 1]));
}
void solve() {
  long long n, m, q, l, r;
  cin >> n >> m >> q;
  long long a[n + 1], b[m + 1], i, val, sum = 0;
  a[0] = b[0] = 0;
  for (i = 1; i <= n; i++) {
    cin >> a[i];
    if (i % 2 == 0) a[i] *= -1;
    sum += a[i];
  }
  for (i = 1; i <= m; i++) {
    cin >> b[i];
    if (!(i % 2)) b[i] *= -1;
    if (i) b[i] += b[i - 1];
  }
  for (i = n; i <= m; i++) {
    val = b[i] - b[i - n];
    if ((i - n) % 2) val *= -1;
    v.push_back(val);
  }
  sort(v.begin(), v.end());
  cout << bs(sum) << "\n";
  while (q--) {
    cin >> l >> r >> val;
    if ((r - l + 1) % 2) {
      if (l % 2)
        sum += val;
      else
        sum -= val;
    }
    cout << bs(sum) << "\n";
  }
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t = 1;
  for (long long i = 1; i <= t; i++) {
    solve();
  }
  return 0;
}
