#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:256000000")
using namespace std;
const int nmax = 1000100;
long long res, cnt = 1e+16;
double eps = 1e-5;
long long n, q, k, l, r, m, sm, a, b, x, c, n1, d;
long long el[100010];
set<long long> ans;
vector<long long> vr;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m >> q;
  a = 1;
  for (int i = 1; i <= n; ++i) {
    cin >> b;
    sm += b * a;
    a *= -1;
  }
  for (int i = 1; i <= m; ++i) {
    cin >> el[i];
  }
  a = -1;
  for (int i = 1; i <= n; ++i) {
    l += el[i] * a;
    a *= -1;
  }
  a *= -1;
  ans.insert(l);
  for (int i = n + 1; i <= m; ++i) {
    l += el[i - n];
    l *= -1;
    l += a * el[i];
    ans.insert(l);
  }
  auto it = ans.lower_bound(-sm);
  if (it == ans.end()) {
    --it;
    d = *it;
    cout << abs(d + sm) << endl;
  } else {
    if (it != ans.begin()) {
      k = *it;
      --it;
      d = *it;
      cout << min(abs(d + sm), abs(k + sm)) << endl;
    } else {
      k = *it;
      cout << abs(k + sm) << endl;
    }
  }
  for (int i = 0; i < q; ++i) {
    cin >> l >> r >> x;
    if ((r - l + 1) & 1) {
      if (r & 1)
        sm += x;
      else
        sm -= x;
    }
    auto it = ans.lower_bound(-sm);
    if (it == ans.end()) {
      --it;
      d = *it;
      cout << abs(d + sm) << endl;
    } else {
      if (it != ans.begin()) {
        k = *it;
        --it;
        d = *it;
        cout << min(abs(d + sm), abs(k + sm)) << endl;
      } else {
        k = *it;
        cout << abs(k + sm) << endl;
      }
    }
  }
  return 0;
}
