#include<stdio.h>
#include<string.h>

#define MAX 100

char stack[MAX];
int top = -1;

void push(char c)
{
    if(top < MAX - 1)
    {
        stack[++top] = c;
    }
}
char pop()
{
    if(top >= 0)
    {
        return stack[top--];
    }
    return '\0';
}
int isMatchingPair(char open, char close)
{
    return (open == '(' && close == ')') || (open == '{' && close =='}') || (open == '[' && ']');
}
int isBalanced(char *str)
{
    for(int i = 0; str[i] != '\0'; i++)
    {
        char c = str[i];
        if(c == '(' || c == '{' || c == '[')
        {
            push(c);
        }
        else if
        {
            (c == ')' || c == '}' || c == ']');
            {
                if(top == -1)
                return 0;
                char open = pop();
                if(!isMatchingPair(open, c))
                return 0;
            }
        }
        return (top == -1);
    }
    int main()
    {
        char str[MAX];
        scanf("%s", str);
        
        if(isBalanced(str))
        printf("Balanced\n");
        else
        printf("Not Balanced\n");
        return 0;
    }
}