#include<bits/stdc++.h>
using namespace std;
bool BracketChecker(string a)
{
stack<char> s;
char x;
for (int i=0; i<a.length(); i++)
{
if (a[i]=='('||a[i]=='['||a[i]=='{')
{
s.push(a[i]);
continue;
}
if (s.empty())
return false;
switch (a[i])
{
case ')':
x = s.top();
s.pop();
if (x=='{' || x=='[')
return false;
break;
case '}':
x = s.top();
s.pop();
if (x=='(' || x=='[')
return false;
break;
case ']':
x = s.top();
s.pop();
if (x =='(' || x == '{')
return false;
break;
}
}
return (s.empty());
}
int main()
{
string a;
cin>>a;
if (BracketChecker(a))
cout<<"VALID";
else
cout<<"INVALID";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4gCnVzaW5nIG5hbWVzcGFjZSBzdGQ7IApib29sIEJyYWNrZXRDaGVja2VyKHN0cmluZyBhKSAKeyAKICAgIHN0YWNrPGNoYXI+IHM7IAogICAgY2hhciB4OyAKICAgIGZvciAoaW50IGk9MDsgaTxhLmxlbmd0aCgpOyBpKyspIAogICAgeyAKICAgICAgICBpZiAoYVtpXT09JygnfHxhW2ldPT0nWyd8fGFbaV09PSd7JykgCiAgICAgICAgeyAKICAgICAgICAgICAgICBzLnB1c2goYVtpXSk7IAogICAgICAgICAgICBjb250aW51ZTsgCiAgICAgICAgfSAKICAKICAgICAgICBpZiAocy5lbXB0eSgpKSAKICAgICAgICAgICByZXR1cm4gZmFsc2U7IAogIAogICAgICAgIHN3aXRjaCAoYVtpXSkgCiAgICAgICAgeyAKICAgICAgICBjYXNlICcpJzogCiAgICAgICAgICAgIHggPSBzLnRvcCgpOyAKICAgICAgICAgICAgcy5wb3AoKTsgCiAgICAgICAgICAgIGlmICh4PT0neycgfHwgeD09J1snKSAKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgCiAgICAgICAgICAgIGJyZWFrOyAKICAgICAgICBjYXNlICd9JzogCiAgICAgICAgICAgIHggPSBzLnRvcCgpOyAKICAgICAgICAgICAgcy5wb3AoKTsgCiAgICAgICAgICAgIGlmICh4PT0nKCcgfHwgeD09J1snKSAKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgCiAgICAgICAgICAgIGJyZWFrOyAKICAgICAgICBjYXNlICddJzogCiAgICAgICAgICAgIHggPSBzLnRvcCgpOyAKICAgICAgICAgICAgcy5wb3AoKTsgCiAgICAgICAgICAgIGlmICh4ID09JygnIHx8IHggPT0gJ3snKSAKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgCiAgICAgICAgICAgIGJyZWFrOyAKICAgICAgICB9IAogICAgfSAKIAogICAgcmV0dXJuIChzLmVtcHR5KCkpOyAKfSAKaW50IG1haW4oKSAKeyAKICAgIHN0cmluZyBhOwogICAgY2luPj5hOwogICAgaWYgKEJyYWNrZXRDaGVja2VyKGEpKSAKICAgICAgICBjb3V0PDwiVkFMSUQiOyAKICAgIGVsc2UKICAgICAgICBjb3V0PDwiSU5WQUxJRCI7IAogICAgcmV0dXJuIDA7IAp9