#include <iostream>
#include <cmath>

using namespace std;

void cau3(int a[], int n) {
    int i = 0, j = 0;
    int val = 1;
    while (i < n && j < n) {
        if (!(val == 1 && a[i] > 0) || !(val == -1 && a[i] < 0)) {
            j = i;
            while (j < n && val*a[j] < 0) j++;
            if (j == n) break;
            swap(a[j], a[i]);
        }
        i++;
        val *= -1;
    }
}
int main() {
    int a[] = {8, -8, -8, -8, -8, -8, 8};
    int n = sizeof(a) / sizeof(a[0]);

    cau3(a, n);

    // Output the result
    for (int i = 0; i < n; i++) {
        printf("%d ", a[i]);
    }

    return 0;
}