#include <bits/stdc++.h>
using namespace std;
int main() {
  int T;
  T = 1;
  for (int t = 0; t != T; ++t) {
    int n, m, q;
    cin >> n >> m >> q;
    long long int a = 0;
    long long int sn = 1;
    for (int i = 0; i != n; ++i) {
      long long int x;
      cin >> x;
      a += sn * x;
      sn *= -1;
    }
    vector<long long int> b, bm;
    sn = 1;
    long long int sum = 0;
    for (int i = 0; i != m; ++i) {
      long long int x;
      cin >> x;
      b.push_back(x);
      if (i < n) {
        sum += sn * x;
        sn *= -1;
      } else {
        bm.push_back(sum);
        sum -= b[i - n];
        if (n % 2 == 0)
          sum += x;
        else
          sum -= x;
        sum *= -1;
      }
    }
    bm.push_back(sum);
    sort(bm.begin(), bm.end());
    auto it = lower_bound(bm.begin(), bm.end(), a);
    long long int ans;
    if (it == bm.end())
      ans = abs(*(it - 1) - a);
    else if (it == bm.begin())
      ans = abs(*(it)-a);
    else
      ans = min(abs(*(it - 1) - a), abs(*(it)-a));
    cout << ans << endl;
    for (int i = 0; i != q; ++i) {
      long long int l, r, x;
      cin >> l >> r >> x;
      if ((l - r) % 2 == 0) {
        if (l % 2 != 0)
          a += x;
        else
          a -= x;
      }
      auto it = lower_bound(bm.begin(), bm.end(), a);
      long long int ans;
      if (it == bm.end())
        ans = abs(*(it - 1) - a);
      else if (it == bm.begin())
        ans = abs(*(it)-a);
      else
        ans = min(abs(*(it - 1) - a), abs(*(it)-a));
      cout << ans << endl;
    }
  }
  return 0;
}
