// editor5
#include<stdio.h>
#define MAX 100
typedef struct{
    char items[MAX];
    int top;
}Stack;
void initStack(Stack*s){s->top=-1;}
int isEmpty(Stack*s){return s->top==-1;}
void push(Stack*s,char c){s->items[++(s->top)]=c;}
char pop(Stack*s){return s->items[(s->top)--1];}
int match(char open,char close){
    return (open =='('&& close==')')||
    (open == '{'&& close =='}')||
    (open =='{'&& close =='}');
}
int isBalanced(char*str){
    Stack stack;intStack(&stack);
    for(int i=0;str[i];i++){
        if(str[i]=='('||str[i]=='{'||str[i]=='[')push(&stack str[i]);
        else if(str[i]==')'||str[i]=='}'||str[i]==']'){
            if(isEmpty(&stack)||!match(pop(&stack),str[i]))
             return 0;  
        }
    }
    return isEmpty(&stack);
}
int main(){
    char str[100];
    fgets(str,sizeof(str),stdin);
    if(isBalanced(str))
       printf("Balanced\n");
    else
       printf("Not Balanced\n");
       return 0;
}