#include <bits/stdc++.h>   using namespace std;   string str;   bool judge(char c) {     return (c ==  _  || islower(c) || isdigit(c) || isupper(c));   }   int main() {     int cnt = 0, count = 0, type = 0, len;     cin >> str;     type = 0;     len = str.length();     for (int i = 0; i < len; i++) {       char c = str[i];       if (c ==  @ ) {         if (type == 1) {           cout <<  NO  << endl;           return 0;         }         type = 1;         if (cnt < 1 || cnt > 16) {           cout <<  NO  << endl;           return 0;         };         cnt = 0;       } else if (c ==  / ) {         if (type == 2) {           cout <<  NO  << endl;           return 0;         }         type = 2;         if (cnt < 1 || cnt > 16) {           cout <<  NO  << endl;           return 0;         }         if (count < 1 || count > 32) {           cout <<  NO  << endl;           return 0;         }         cnt = 0;       } else if (c ==  . ) {         if (type != 1) {           cout <<  NO  << endl;           return 0;         }         if (cnt < 1 || cnt > 16) {           cout <<  NO  << endl;           return 0;         }         cnt = 0;       } else if (c > 127 || c < 33) {         cout <<  NO  << endl;         return 0;       } else if (type == 0) {         if (judge(c)) {           cnt++;           continue;         } else {           cout <<  NO  << endl;           return 0;         }       } else if (type == 1) {         if (judge(c)) {           cnt++;           count++;           continue;         } else {           cout <<  NO  << endl;           return 0;         }       } else if (type == 2) {         if (judge(c)) {           cnt++;           continue;         } else {           cout <<  NO  << endl;           return 0;         }       }     }     if (cnt < 0 || cnt > 16) {       cout <<  NO  << endl;       return 0;     }     if (type >= 1 && cnt > 0) {       cout <<  YES  << endl;       return 0;     } else {       cout <<  NO  << endl;       return 0;     }   }   