// i must be the reason why
// you have given up your smiles
// and the hope inside your life has been stolen
// i must be the reason why
// you have told me all these lies
// that i will lead a happier life without you by my side
// дальше текст забыл

// t.me/truebaza <---- лучший тг канал
// t.me/truebaza <---- лучший тг канал
// t.me/truebaza <---- лучший тг канал
// t.me/truebaza <---- лучший тг канал
// t.me/truebaza <---- лучший тг канал
// t.me/truebaza <---- лучший тг канал
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef tree<int, null_type, less<>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
#define fastio cin.tie(0), ios_base::sync_with_stdio(false)
#define all(x) (x).begin(), (x).end()
#define INF ((1ll << 29) - 1)
#define int long long
void solve() {
    int n, m;
    cin >> n >> m;
    vector<int> v(m);
    for (auto& i : v) {
        cin >> i;
    }
    int pc = n;
    int res = 0;
    for (auto& i : v) {
        if (pc > 0) res += i, pc--;
        else res -= i, pc++;
    }
    cout << res << '\n';
}

auto main() -> signed { // t.me/truebaza <---- лучший тг канал
    fastio;
    int t;
    cin >> t;
    while (t--) solve();
}