package didi;

import java.util.Arrays;
import java.util.Scanner;

public class Fuhao {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sca = new Scanner(System.in);
        int n = sca.nextInt();
        // 符号数组和数字数组
        String[] fuhao = new String[n - 1];
        int[] num = new int[n];

        // 获取元素
        for (int i = 0; i < 2 * n - 1; i++) {
            if (i % 2 == 0) {
                num[i / 2] = sca.nextInt();
            } else {
                fuhao[(i - 1) / 2] = sca.next();
            }
        }

        /*
         * temp 暂存数组中发现的第一个“+” or “*”符号 二维数组存放biaohao[i][o]存放第i次发现“+” or “*”的起始位置
         * biaohao[i][1]存放第i次发现“+” or “*”的截止位置 变量a++等效于 i++; flag 标志位
         */
        String temp = "";
        int[][] biaohao = new int[n - 1][2];
        int a = 0;
        boolean flag = true;

        // 获取第一个“+” or “*”
        for (int i = 0; i < fuhao.length; i++) {
            // 判断是不是满足可以交换字符前后的数字的条件
            if (fuhao[i].equals("+") || fuhao[i].equals("*")) {
                // 当前字符与暂存字符不相符,则记录截至位置,标志位true下次循环便可记录初始位置
                if (fuhao[i].equals(temp)) {
                    biaohao[a][1] = i - 1;
                    flag = true;
                    a++;
                }
                // 满足,存放当前字符,记录起始位置,标志位为false不再重复记录
                if (flag) {
                    temp = fuhao[i];
                    biaohao[a][0] = i;
                    flag = false;
                }
            } else {// 不满***换条件
                biaohao[a][1] = i - 1;
                flag = true;
                a++;// 数组行自增
            }
        }
        // 排序
        for (int i = 0; i < biaohao.length / 2; i++) {
            // 截止位置-起始位置+2 例 :1+2+3
            int[] sor = new int[biaohao[i][1] - biaohao[i][0] + 2];
            sor = Arrays.copyOfRange(num, biaohao[i][0], biaohao[i][1] + 2);
            Arrays.sort(sor);
            System.arraycopy(sor, 0, num, biaohao[i][0], sor.length);

        }

        // 打印数组
        for (int i = 0; i < 2 * n - 1; i++) {
            if (i % 2 == 0) {
                System.out.print(num[i / 2] + " ");
            } else {
                System.out.print(fuhao[(i - 1) / 2] + " ");
            }
        }

    }

}