#include<stdio.h>
#include<string.h>

#define MAX 100
int isMatching (char open, char close){
    if(open == '(' && close == ')')
    return 1;
    if(open == '{' && close == '}')
    return 1;
    if(open == '[' && close == ']')
    return 1;
    return 0;
    
}
int isBalanced(char *s){
    
    char stack[MAX];
    int top = -1;
    for(int i=0;s[i] !='\0';i++){
        char ch = s[i];
        if (ch == '(' || ch == '{' || ch == '['){
            stack[++top] = ch;
        }
        else if (ch == ')' || ch == '}' || ']'){
            if (top == -1) return 0;
            if (! isMatching (stack[top--], ch )) return 0;
        }
    }
    return top == -1;
}
int main(){
    char s[MAX];
    fgets(s, max, stdin);
    s[strcspn(s, "\n")] = '\0';
    if(isBalanced(s))
    printf("Balanced");
    else
    printf("Not Balanced")
    return 0;
}