#include <bits/stdc++.h>
using namespace std;
int const N = 1e6 + 5;
long long const Max = 1000000000000000007;
int n, m, q;
long long a[N], b[N], Pick[N];
long long Solve(long long Sum) {
  int x = lower_bound(Pick + 1, Pick + m - n + 2, Sum) - Pick;
  int y = x - 1;
  return min(abs(Pick[x] - Sum), abs(Sum - Pick[y]));
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> m >> q;
  long long Sum = 0;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    if (i & 1)
      Sum += a[i];
    else
      Sum -= a[i];
  }
  for (int i = 1; i <= m; i++) {
    cin >> b[i];
  }
  for (int i = 1; i <= n; i++) {
    if (i & 1)
      Pick[1] += b[i];
    else
      Pick[1] -= b[i];
  }
  int sign = 1;
  for (int i = n + 1; i <= m; i++) {
    if (n & 1)
      sign = 1;
    else
      sign = -1;
    Pick[i - n + 1] = (Pick[i - n] - b[i - n]) * (-1) + b[i] * sign;
  }
  sort(Pick + 1, Pick + m - n + 2);
  Pick[m - n + 2] = Max;
  Pick[0] = -Max;
  cout << Solve(Sum) << endl;
  int l, r, x;
  for (int i = 1; i <= q; i++) {
    cin >> l >> r >> x;
    if ((r - l + 1) % 2 == 1) {
      if (l % 2 == 1)
        Sum += x;
      else
        Sum -= x;
    }
    cout << Solve(Sum) << endl;
  }
}
