#include <iostream>
#include <string>
using namespace std;
int main() {
string email, password;
getline(cin, email);
getline(cin, password);
bool valid = true;
int at = -1;
for(int i = 0; i < email.size(); i++){
if(email[i] == '@'){ at = i; break; }
}
if(at <= 0 || email.size() < at + 5) valid = false;
else {
if(email[email.size()-4] != '.' || email[email.size()-3] != 'c' ||
email[email.size()-2] != 'o' || email[email.size()-1] != 'm')
valid = false;
for(int i = 0; i < at; i++) if(email[i] < 'a' || email[i] > 'z') valid = false;
for(int i = at+1; i < email.size()-4; i++) if(email[i] < 'a' || email[i] > 'z') valid = false;
}
if(password.size() < 8) valid = false;
bool hl=false, hu=false, hd=false, hs=false;
for(int i = 0; i < password.size(); i++){
char c = password[i];
if(c >= 'a' && c <= 'z') hl = true;
else if(c >= 'A' && c <= 'Z') hu = true;
else if(c >= '0' && c <= '9') hd = true;
else if(c=='!'||c=='@'||c=='#'||c=='&'||c=='_'||c=='-') hs = true;
}
if(!hl || !hu || !hd || !hs) valid = false;
if(valid) cout << "Valid";
else cout << "InValid";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgZW1haWwsIHBhc3N3b3JkOwogICAgZ2V0bGluZShjaW4sIGVtYWlsKTsKICAgIGdldGxpbmUoY2luLCBwYXNzd29yZCk7CgogICAgYm9vbCB2YWxpZCA9IHRydWU7CgogICAgaW50IGF0ID0gLTE7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgZW1haWwuc2l6ZSgpOyBpKyspewogICAgICAgIGlmKGVtYWlsW2ldID09ICdAJyl7IGF0ID0gaTsgYnJlYWs7IH0KICAgIH0KCiAgICBpZihhdCA8PSAwIHx8IGVtYWlsLnNpemUoKSA8IGF0ICsgNSkgdmFsaWQgPSBmYWxzZTsKICAgIGVsc2UgewogICAgICAgIGlmKGVtYWlsW2VtYWlsLnNpemUoKS00XSAhPSAnLicgfHwgZW1haWxbZW1haWwuc2l6ZSgpLTNdICE9ICdjJyB8fAogICAgICAgICAgIGVtYWlsW2VtYWlsLnNpemUoKS0yXSAhPSAnbycgfHwgZW1haWxbZW1haWwuc2l6ZSgpLTFdICE9ICdtJykKICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwoKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgYXQ7IGkrKykgaWYoZW1haWxbaV0gPCAnYScgfHwgZW1haWxbaV0gPiAneicpIHZhbGlkID0gZmFsc2U7CiAgICAgICAgZm9yKGludCBpID0gYXQrMTsgaSA8IGVtYWlsLnNpemUoKS00OyBpKyspIGlmKGVtYWlsW2ldIDwgJ2EnIHx8IGVtYWlsW2ldID4gJ3onKSB2YWxpZCA9IGZhbHNlOwogICAgfQoKICAgIGlmKHBhc3N3b3JkLnNpemUoKSA8IDgpIHZhbGlkID0gZmFsc2U7CgogICAgYm9vbCBobD1mYWxzZSwgaHU9ZmFsc2UsIGhkPWZhbHNlLCBocz1mYWxzZTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBwYXNzd29yZC5zaXplKCk7IGkrKyl7CiAgICAgICAgY2hhciBjID0gcGFzc3dvcmRbaV07CiAgICAgICAgaWYoYyA+PSAnYScgJiYgYyA8PSAneicpIGhsID0gdHJ1ZTsKICAgICAgICBlbHNlIGlmKGMgPj0gJ0EnICYmIGMgPD0gJ1onKSBodSA9IHRydWU7CiAgICAgICAgZWxzZSBpZihjID49ICcwJyAmJiBjIDw9ICc5JykgaGQgPSB0cnVlOwogICAgICAgIGVsc2UgaWYoYz09JyEnfHxjPT0nQCd8fGM9PScjJ3x8Yz09JyYnfHxjPT0nXyd8fGM9PSctJykgaHMgPSB0cnVlOwogICAgfQoKICAgIGlmKCFobCB8fCAhaHUgfHwgIWhkIHx8ICFocykgdmFsaWQgPSBmYWxzZTsKCiAgICBpZih2YWxpZCkgY291dCA8PCAiVmFsaWQiOwogICAgZWxzZSBjb3V0IDw8ICJJblZhbGlkIjsKCiAgICByZXR1cm4gMDsKfQ==