std

Laffey 2022-03-24 21:07:31

#include <cstdio>
using namespace std;

int maxdep;
char c[11];
int op[11];

void put(const char * c) {
    printf(c);
}

void print(bool state, int dep) 
{
    if (dep == maxdep) {
        return;
    }
    if (state) {
        put("^");
    }
    else {
        put("_");
    }
    put("{");
    put(c);
    if (op[dep + 1] == 1)
        print(1, dep + 1);
    else
        print(0, dep + 1);
    put("}");
    return;
}

int main()
{
//	freopen("dis5.in", "r", stdin);
//	freopen("dis5.out", "w", stdout);
    scanf("%s%d", c, &maxdep);
    for (int i = 1; i <= maxdep; i++) {
        scanf("%d", &op[i]);
    }
    printf(c);
    if (op[1] == 1)
        print(1, 1);
    else 
        print(0, 1);
    return 0;
}