#include <bits/stdc++.h>
using namespace std;
inline long long _gcd(long long a, long long b) {
  while (b) b %= a ^= b ^= a ^= b;
  return a;
}
inline pair<int, int> operator+(pair<int, int> a, pair<int, int> b) {
  return {a.first + b.first, a.second + b.second};
}
inline ostream& operator<<(ostream& o, pair<int, int> p) {
  o << p.first << " " << p.second;
  return o;
}
template <typename>
struct is_std_vector : std::false_type {};
template <typename T, typename A>
struct is_std_vector<std::vector<T, A>> : std::true_type {};
template <typename T>
inline ostream& operator<<(ostream& o, vector<T>& p) {
  for (int i = 0; i < p.size(); ++i) {
    o << setw(3) << p[i];
    if (is_std_vector<T>::value) o << "\n";
  }
  return o;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    vector<int> data(n);
    for (int i = 0; i < n; ++i) {
      cin >> data[i];
      data[i] = abs(data[i]);
    }
    int nn = 0;
    int np = 0;
    for (int i = 0; i < n; i++) {
      if (i % 2 == 0) {
        data[i] = -data[i];
      }
    }
    for (int i = 0; i < n; ++i) {
      if (i) cout << " ";
      cout << data[i];
    }
    cout << endl;
  }
  return 0;
}
