#include <bits/stdc++.h>
using namespace std;

vector<int> solve(vector<int> &arr){
  
  vector<int> ans;
  
  int p=-1;
  int q=-1;
  
  bool chk1=false;
  bool chk2=false;
  for(int i=0;i<arr.size();i++){
    
    if(arr[i]>=0) chk1=true;
    if(arr[i]<0) chk2=true;
    
    if(i+1<arr.size() && arr[i+1]>=0 && arr[i]<0){
      p=i;
      q=i+1;
      break;
    }
  }
  
  if(chk1 || !chk2){
    for(int i=0;i<arr.size();i++){
      ans.push_back(arr[i]*arr[i]);
    }
    return ans;
  }
  
  if(!chk1 || chk2){
    for(int i=arr.size()-1;i>=0;i--){
      ans.push_back(arr[i]*arr[i]);
    }
    return ans;
  }
  
  // -6, -3, -1, 2, 4, 5
  while(p>=0 && q<arr.size()){
    if(abs(arr[p])<arr[q]){
      ans.push_back(arr[p]*arr[p]);
      p--;
    }
    else if(arr[q]>abs(arr[p])){
      ans.push_back(arr[q]*arr[q]);
      q++;
    }
    
  }
  
  while(p>=0){
     ans.push_back(arr[p]*arr[p]);
      p--;
  }
  
  while(q<arr.size()){
     ans.push_back(arr[q]*arr[q]);
      q++;
  }
  
  return ans;
}
  

int main() {
	vector<int> arr={ -6, -3, -1, 2, 4, 5};
	
	vector<int> ans= solve(arr);
	
	for(int &x:ans){
		cout<<x<<" ";
	}
	cout<<endl;
}