#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define MAX 10000

// Stack implementation
typedef struct {
    char *items[MAX];
    int top;
} Stack;

void init(Stack *s) {
    s->top = -1;
}

int isEmpty(Stack *s) {
    return s->top == -1;
}

int isFull(Stack *s) {
    return s->top == MAX - 1;
}

void push(Stack *s, char *tag) {
    if (isFull(s)) return;
    s->items[++(s->top)] = strdup(tag); // copy string
}

char* pop(Stack *s) {
    if (isEmpty(s)) return NULL;
    return s->items[(s->top)--];
}

char* peek(Stack *s) {
    if (isEmpty(s)) return NULL;
    return s->items[s->top];
}

// Check if valid tag name (only lowercase letters)
int validTagName(char *tag) {
    for (int i = 0; tag[i]; i++) {
        if (!islower(tag[i])) return 0;
    }
    return 1;
}

// Validate a single line
void validateLine(char *line) {
    Stack s;
    init(&s);
    int i = 0;
    int n = strlen(line);

    while (i < n) {
        if (line[i] == '<') {
            int closing = 0;
            i++;
            if (i < n && line[i] == '/') {
                closing = 1;
                i++;
            }

            char tag[100];
            int j = 0;
            while (i < n && line[i] != '>') {
                tag[j++] = line[i++];
            }
            if (i == n) {
                printf("Invalid input\n");
                return;
            }
            tag[j] = '\0';
            i++; // skip '>'

            if (!validTagName(tag)) {
                printf("Invalid input\n");
                return;
            }

            if (!closing) {
                push(&s, tag);
            } else {
                char *top = pop(&s);
                if (!top || strcmp(top, tag) != 0) {
                    printf("Unbalanced\n");
                    return;
                }
                free(top);
            }
        } else {
            i++; // skip normal text
        }
    }

    if (isEmpty(&s)) {
        printf("Balanced\n");
    } else {
        printf("Unbalanced\n");
    }
}

int main() {
    int n;
    scanf("%d\n", &n);
    char line[1000];

    for (int i = 0; i < n; i++) {
        fgets(line, sizeof(line), stdin);
        line[strcspn(line, "\n")] = '\0'; // remove newline
        validateLine(line);
    }

    return 0;
}