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