#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const int MOD = 1e9 + 7;
set<long long> bsums;
long long solve(long long sum_a) {
  auto idx = bsums.upper_bound(sum_a);
  if (idx == bsums.end()) return sum_a - *(--idx);
  if (idx == bsums.begin()) return *idx - sum_a;
  long long res = *idx - sum_a;
  --idx;
  return min(res, sum_a - *idx);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ;
  int n, m, q;
  cin >> n >> m >> q;
  vector<long long> a(n), b(m);
  for (int i = 0; i < n; ++i) cin >> a[i];
  for (int i = 0; i < m; ++i) cin >> b[i];
  long long sum_a = 0;
  vector<long long> sum_b(m - n + 1, 0);
  for (int i = 0; i < n; ++i) sum_a += (i % 2 == 0 ? 1 : -1) * a[i];
  for (int i = 0; i < n; ++i) sum_b[0] += (i % 2 == 0 ? 1 : -1) * b[i];
  for (int i = 1; i <= m - n; ++i) {
    sum_b[i] =
        -(sum_b[i - 1] - b[i - 1]) + (n % 2 == 0 ? -1 : 1) * b[i + n - 1];
  }
  for (int i = 0; i <= m - n; ++i) bsums.insert(sum_b[i]);
  cout << solve(sum_a) << "\n";
  for (int i = 0; i < q; ++i) {
    int l, r;
    long long x;
    cin >> l >> r >> x;
    if ((r - l + 1) & 1) {
      if (l & 1)
        sum_a += x;
      else
        sum_a -= x;
    }
    cout << solve(sum_a) << "\n";
  }
  return 0;
}
