#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)--];}
int match(char open,char close){
    return (open=='('&&close==')')||
    (open=='{'&&close=='}')||
    (open=='['&&close==']');
}
int isBalanced(char str[]){
    Stack stack;
    initStack(&stack);
    for (int i=0;str[i]!='\0';i++){
        if(str[i]=='('||str[i]=='{'||str[i]=='['){
            push(&stack,srt[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[101];
    scanf("%s",str);
    if(isBalanced(str))
    printf("Balances");
    else
    printf("Not Balanced");
    return 0;
}