#include "bits/stdc++.h"
#include "numeric"
using namespace std;

#define forn(i, n) for(ll i=0;i<n;++i)
#define fornn(i, l, r) for(int i=l;i<=r;++i)
#define ford(i, n) for(int i=n-1;i>=0;--i)
#define all(a) (a).begin(),(a).end()
#define rall(a) (a).rbegin(),(a).rend()
#define pb push_back
#define eb emplace_back
#define ff first
#define ss second

using ll = long long;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;

const int maxn = 1e5 + 7;
const int logn = 32;
const int mod = 1e9 + 7;

ll n,m;

vector<ll> get(ll num) {
    vector<ll> res;
    while(num>0) {
        res.pb(num%2);
        num/=2;
    }
    while (res.size()<m) res.pb(0);
    return res;
}

void solve() {
    cin>>n>>m;
    vector<ll> x(m);
    forn(i,m) cin >> x[i];

    ll ans=-1e18, iterations=1e5;
//    ll part=iterations/(m/2);
    forn(i, iterations) {
//        ll ones=i/part;
//        vector<int> p(m);
//        forn(j,min(m,ones))p[j]=1;
//        int shuffles=20;
//        while (shuffles--)
//            swap(p[rand()%m], p[rand()%m]);

        vector<ll> p=get(i);

        vector<ll> a(n,0);
        forn(j,m)
            a[p[j]]=x[j]-a[p[j]];
        ll sum=0;
        forn(j,n) sum+=a[j];
        ans=max(ans, sum);
    }
    cout << ans << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

#ifdef LOCAL
    freopen("C:\\work\\untitled\\b.txt", "r", stdin);
    freopen("C:\\work\\untitled\\out.txt", "w", stdout);

    while (!cin.eof()) {
        solve();
    }
#else
    int t; cin>>t;
    while(t--){
        solve();
    }
#endif

    return 0;
}
