#include <bits/stdc++.h>
using namespace std;
void test_case() {
  int n, q;
  cin >> n >> q;
  vector<int> in(n);
  for (int i = 0; i < n; i++) cin >> in[i];
  auto get = [&](int i) {
    if (i < 0) return 0;
    int cur = in[i];
    int next = i + 1 < n ? in[i + 1] : 0;
    return max(cur - next, 0);
  };
  long long int ans = 0;
  for (int i = 0; i < n; i++) {
    ans += get(i);
  }
  cout << ans << "\n";
  while (q--) {
    int l, r;
    cin >> l >> r;
    l--;
    r--;
    if (l < r) {
      ans -= get(l - 1);
      ans -= get(l);
      if (r - 1 > l) ans -= get(r - 1);
      ans -= get(r);
      swap(in[l], in[r]);
      ans += get(l - 1);
      ans += get(l);
      if (r - 1 > l) ans += get(r - 1);
      ans += get(r);
    }
    cout << ans << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    test_case();
  }
}
