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

vector<int> rearrangeArray(vector<int>& a) {
        int n = a.size();
        vector<int>ans(2*n+1,1e9);
        int pos=0,neg=1;
        for(int i=0;i<n;i++){
            if(a[i]>0){
                ans[pos] = a[i];
                a[i]=1e9;
                pos=pos+2;
            }
            else{
                ans[neg] = a[i];
                a[i]=-1e9;
                neg = neg+2;
            }
        }
        
        //adjusting the remaining elements
        int idx=-1;int count=0;
        for(int i=0;i<ans.size();i++){
        	if(ans[i]!=1e9 && idx>=0){
        		swap(ans[idx],ans[i+1]);
        		idx=i+1;
        	}
        	else{
        		idx=i;
        	}
        }
        for(int i=0;i<ans.size();i++)
        cout<<ans[i]<<" ";
        
        return ans;
}
int main() {
	vector<int>a = {1,20,21,22,23,3,2,5,4,-11,-12};
	vector<int>v = rearrangeArray(a);
	return 0;
}