// editor3
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX 100000
char stack [MAX];
int top=-1;
void push (char c){
    if (top <MAX -1) {
    }
}

char pop(){
    if (top>=0){
        return stack[top--];
    }
    return -1;
}
char peek(){
    if (top>=0) return stack[top];
    return -1;
}
int isOpening(char c){
    return ( c =='('|| c =='['|| c =='{');
}
int isclosing (char open,char close){
    return(c ==')' || c ==']' || c =='}');
}
int isMatching (char open,char close){
    return ((open =='('&& close ==')') ||
            (open =='['&& close ==']') ||
            (open =='{'&& close =='}'));
}
int isAllowedChar(char c){
    return (isdigit(c) || c =='+' || c =='-' || c=='*' ||c=='/'||
             c=='{' || c=='}' || c=='[' || c==']' || c == '{' || c=='}' || isspace(c));
}
int isValidSquence (char *exp) {
    int len = strlen(exp);
    for (int i=0;i<len;i++) {
        char c = exp[i];
        if (!isAllowedChar(c)) {
            return -1;
        }
        if (isOpening(c)) {
            if (top == -1 || !isMatching(pop(),c)) {
                return 0;
            }
        }
    }
    if (top!= -1){
        return 0;
    }
    return 1;
}
int main (){
    char expression[MAX];
    if (!fgets(expression,sizeof(expression),stdin)) {
        printf("Invalid input\n");
        return 0;
    }
    int result =isValidSquence(expression);
    if (result ==-1) {
        printf("In valid input\n");
    }
    else if (result ==0) {
        printf("Invalid sequence\n");
    }
    else {
        printf("Valid sequence\n");
    }
    return 0;
}