#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
const int inf = (int)1e9 + 5;
const long long MAXN = 300005;
const long long MAXVAL = 10000000;
const long long INF = (long long)1e17 + 50;
const long long MOD = (long long)1e9 + 7;
const unsigned long long HASH_MOD = 2305843009213693951;
string failMessage;
void fail(string addedMessage = "") {
  cout << failMessage;
  if (addedMessage != "") {
    (void)0;
    (void)0;
  }
  exit(0);
};
long long shift = 0;
set<long long> f;
long long calc_ans() {
  long long res;
  if (*f.begin() >= shift)
    res = *f.begin();
  else if (*f.rbegin() < shift)
    res = *f.rbegin();
  else {
    auto it = f.lower_bound(shift);
    res = *it - shift;
    res = min(res, abs(*(--it) - shift));
    return res;
  }
  return abs(res - shift);
}
void solve() {
  long long n, m, q;
  cin >> n >> m >> q;
  vector<long long> a(n), b(m);
  for (long long i = 0; i < n; i++) cin >> a[i];
  for (long long i = 0; i < m; i++) cin >> b[i];
  long long k = m - n + 1;
  long long sum_a = 0;
  for (long long i = 0; i < n; i++) {
    if (i % 2 == 0)
      sum_a += a[i];
    else
      sum_a -= a[i];
  }
  vector<long long> prefix_b(m);
  prefix_b[0] = -b[0];
  for (long long i = 1; i < m; i++) {
    if (i % 2 == 0)
      prefix_b[i] = prefix_b[i - 1] - b[i];
    else
      prefix_b[i] = prefix_b[i - 1] + b[i];
  }
  long long sum_b;
  for (long long j = 0; j < k; j++) {
    sum_b = prefix_b[j + n - 1];
    if (j > 0) sum_b -= prefix_b[j - 1];
    if (j % 2 == 1) sum_b = -sum_b;
    f.insert(sum_a + sum_b);
  }
  cout << calc_ans() << endl;
  long long x, y, z;
  for (long long it = 0; it < q; it++) {
    cin >> x >> y >> z;
    x--;
    y--;
    if ((y - x) % 2 == 0) {
      if (x % 2 == 0)
        shift -= z;
      else
        shift += z;
    }
    cout << calc_ans() << endl;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.precision(15);
  solve();
  (void)0;
}
