#include <bits/stdc++.h>
using namespace std;
void solve(){
int n,m;
cin>>n>>m;
vector<vector<int>> v(n, vector<int>(m));
long long x = 0;
int cnt =0;
int minn = INT_MAX;
// vector<vector<int>> matrix(rows, vector<int>(cols)); // 2D vector initialization
for(int i =0;i<n;i++){
for(int j=0;j<m;j++){
cin>>v[i][j];
x=x+abs(v[i][j]);
if(v[i][j]<0) cnt++;// count all the negatives
minn = min(minn, abs(v[i][j]));
}
}
if(cnt%2 == 0){
cout<<x<<endl;
}else{
cout<<x -(2*minn)<<endl;
}
}
int main() {
int t;cin>>t;
while(t--){
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCl7CglpbnQgbixtOwoJY2luPj5uPj5tOwoJCgl2ZWN0b3I8dmVjdG9yPGludD4+IHYobiwgdmVjdG9yPGludD4obSkpOwoJbG9uZyBsb25nIHggPSAwOwoJaW50IGNudCA9MDsKCWludCBtaW5uID0gSU5UX01BWDsKCS8vICB2ZWN0b3I8dmVjdG9yPGludD4+IG1hdHJpeChyb3dzLCB2ZWN0b3I8aW50Pihjb2xzKSk7IC8vIDJEIHZlY3RvciBpbml0aWFsaXphdGlvbgoJCglmb3IoaW50IGkgPTA7aTxuO2krKyl7CgkJZm9yKGludCBqPTA7ajxtO2orKyl7CgkJCWNpbj4+dltpXVtqXTsKCQkJCgkJCXg9eCthYnModltpXVtqXSk7CgkJCWlmKHZbaV1bal08MCkgY250Kys7Ly8gY291bnQgYWxsIHRoZSBuZWdhdGl2ZXMKCQkJCgkJCW1pbm4gPSBtaW4obWlubiwgYWJzKHZbaV1bal0pKTsKCQkJCgkJfQoJfQoJCglpZihjbnQlMiA9PSAwKXsKCQljb3V0PDx4PDxlbmRsOwoJfWVsc2V7CgkJY291dDw8eCAtKDIqbWlubik8PGVuZGw7Cgl9Cn0KCgoKCmludCBtYWluKCkgewoJaW50IHQ7Y2luPj50OwoJd2hpbGUodC0tKXsKCQlzb2x2ZSgpOwoJfQoJcmV0dXJuIDA7Cn0=
NQoyIDIKLTEgMQoxIDEKMyA0CjAgLTEgLTIgLTMKLTEgLTIgLTMgLTQKLTIgLTMgLTQgLTUKMiAzCjI3IC02NiAtMTMKNTIgLTU2IC00MAo3IDMKLTYgMSAtNAotODQgLTM5IDEyCi01NSAzNCAtNzcKNTQgLTEwMCAtMwotNTggNTAgMzcKMTYgNjggNzgKLTM4IC0zNiA4Nwo0IDIKLTUwIC0yMQotMTYgLTcKODYgNzYKNjIgLTQz
5
2 2
-1 1
1 1
3 4
0 -1 -2 -3
-1 -2 -3 -4
-2 -3 -4 -5
2 3
27 -66 -13
52 -56 -40
7 3
-6 1 -4
-84 -39 12
-55 34 -77
54 -100 -3
-58 50 37
16 68 78
-38 -36 87
4 2
-50 -21
-16 -7
86 76
62 -43