#include <bits/stdc++.h>
using namespace std;
long long int pow(int x, int y) {
  if (y % 2 == 0)
    return 1;
  else
    return -1;
}
long long absll(long long x) {
  if (x > 0) return x;
  return -x;
}
long long an(long long x, set<long long int>& s) {
  set<long long>::iterator it = s.lower_bound(x);
  if (it == s.end()) it--;
  long long ret = absll((*it) - x);
  if (it != s.begin()) it--;
  return min(ret, absll((*it) - x));
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, sum = 0, count = 0, m, flag = 0, ans = 0, k;
  cin >> n >> m >> k;
  vector<long long int> a(n), b(m);
  set<long long int> s;
  for (int i = 0; i < n; i++) cin >> a[i], sum += a[i] * pow(-1, i);
  for (int i = 0; i < m; i++) cin >> b[i], b[i] = b[i] * pow(-1, i);
  for (int i = 0; i < m; i++) {
    ans += b[i];
    if (i >= n) {
      if ((i - n) % 2 == 0)
        s.insert(ans - b[i]);
      else
        s.insert((ans - b[i]) * -1);
      ans -= b[i - n];
    }
  }
  if ((m - n) % 2 == 0)
    s.insert(ans);
  else
    s.insert(-ans);
  cout << an(sum, s) << endl;
  while (k--) {
    long long int l, r, x;
    cin >> l >> r >> x;
    if (abs(r - l + 1) % 2 != 0) {
      sum += x * pow(-1, r - 1);
    }
    cout << an(sum, s) << endl;
  }
  return 0;
}
