#include <bits/stdc++.h>
using namespace std;
long long i, j, k, l, n, m, res;
long long a[300009];
void check(long long x, long long t) {
  if (t == 1) {
    if (a[x] > a[x - 1] && a[x] > a[x + 1]) res += a[x];
    if (a[x] < a[x - 1] && a[x] < a[x + 1]) res -= a[x];
  } else {
    if (a[x] > a[x - 1] && a[x] > a[x + 1]) res -= a[x];
    if (a[x] < a[x - 1] && a[x] < a[x + 1]) res += a[x];
  }
}
set<long long> st;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int nt;
  cin >> nt;
  while (nt--) {
    cin >> n >> m;
    a[0] = a[n + 1] = 0;
    for (i = 1; i <= n; i++) {
      cin >> a[i];
    }
    res = 0;
    for (i = 1; i <= n; i++) {
      check(i, 1);
    }
    cout << res << '\n';
    for (i = 1; i <= m; i++) {
      long long l, r;
      st.clear();
      cin >> l >> r;
      st.insert(l);
      st.insert(r);
      if (l - 1 > 0) st.insert(l - 1);
      if (l + 1 <= n) st.insert(l + 1);
      if (r - 1 > 0) st.insert(r - 1);
      if (r + 1 <= n) st.insert(r + 1);
      for (auto to : st) check(to, 0);
      swap(a[l], a[r]);
      for (auto to : st) check(to, 1);
      cout << res << '\n';
    }
  }
  exit(0);
}
