#include <bits/stdc++.h>
using namespace std;
int n, m, q, l;
long long arr[100005], res[100005];
long long sum;
long long ans() {
  int i = lower_bound(res + n - 1, res + m + 2, sum) - res;
  return min(res[i] - sum, sum - res[i - 1]);
}
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch <= '9' && ch >= '0') {
    x = (x << 1) + (x << 3) + ch - '0';
    ch = getchar();
  }
  return x * f;
}
inline void print(int x) {
  if (x < 0) putchar('-'), x = -x;
  if (x >= 10) print(x / 10);
  putchar(x % 10 + '0');
}
inline void print(long long x) {
  if (x < 0) putchar('-'), x = -x;
  if (x >= 10) print(x / 10);
  putchar(x % 10 + '0');
}
int main() {
  n = read();
  m = read();
  q = read();
  for (int i = 1; i <= n; i++) {
    sum += (i & 1 ? 1 : -1) * read();
  }
  for (int i = 1; i <= m; i++) {
    arr[i] = arr[i - 1] + (i & 1 ? 1 : -1) * read();
    if (i >= n) {
      res[i] = ((i - n) & 1 ? -1 : 1) * (arr[i] - arr[i - n]);
    }
  }
  sort(res + n, res + m + 1);
  res[n - 1] = -1e18, res[m + 1] = 1e18;
  print(ans());
  putchar('\n');
  while (q--) {
    if (l = read(), (read() - l + 1) & 1)
      sum += (l & 1 ? 1 : -1) * read();
    else
      read();
    print(ans());
    putchar('\n');
  }
}
