#include<bits/stdc++.h>
#define fast_io ios_base::Synnc_with_stdio(0); cin.tie(0); cout.tie(0);
#define F first
#define S second
#define pb push_back

typedef long long ll;
using namespace std;
#define int ll
const int N = 3e5+100, M = 2e18;
int x[N];


void solve()
{
    int n,m;
    cin>>n>>m;

    map< int , int > mp;
    for(int i=1;i<=m;++i)
        cin>>x[i],++mp[x[i]];

    reverse(x+1,x+m+1);
//
//    if(mp.size()==1)
//    {
//        if(n>=m)cout<<m*x[0]<<'\n';
//        else cout<<n*x[0]+(~(m-n) & 1 ? -x[0] : x[0])<<'\n';
//        return ;
//    }

    vector< vector< int > > dp(m+1, vector< int > (n+1, -M));


    dp[0][n]=0;
    for(int i=1;i<=m;++i)
    {
        for(int f=0;f<=n;++f)
        {
            if(f+1<=n && dp[i-1][f]!=-M){
                dp[i][f+1]=max(dp[i][f+1], dp[i-1][f]-x[i]);
            }
            if(f-1>=0 && dp[i-1][f]!=-M){
                dp[i][f-1]=max(dp[i][f-1], dp[i-1][f]+x[i]);
            }
        }
    }

//    for(int i=1;i<=m;++i)
//    {
//        for(int j=0;j<=n;++j)
//            cout<<dp[i][j]<<' ';
//        cout<<'\n';
//    }

    int ans=-M;
    for(int i=0;i<=n;++i)
        ans=max(ans, dp[m][i]);

    cout<<ans<<'\n';
    return ;
}
int32_t main()
{
    #ifdef ROADTOBELEGEND
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif // ROADTOBELEGEND

    int t;
    cin>>t;

    while(t--)
        solve();

    return 0;
}
