#include <bits/stdc++.h>
using namespace std;
string s;
bool u = true, h = false, r = false;
int a, b, c;
char z;
int main() {
  cin >> s;
  if (s[s.size() - 1] == '/' || s[s.size() - 1] == '@') {
    cout << "NO";
    return 0;
  }
  if (s[0] == '@') {
    cout << "NO";
    return 0;
  }
  for (int i = 0; i < s.size(); i++) {
    z = s[i];
    if ((z == '@' && h == true) || (z == '/' && r == true)) {
      cout << "NO";
      return 0;
    }
    if (z == '@') {
      h = true;
    }
    if (z == '/') {
      r = true;
    }
    if (h == false && r == false) {
      if (((z > 58 && z < 65) || (z < 97 && z > 90) || z > 122 || z < 47) &&
          z != '_') {
        cout << "NO";
        return 0;
      }
      a++;
    }
    if (h == true && r == false) {
      if (((z > 58 && z < 65) || (z < 97 && z > 90) || z > 122 || z < 47) &&
          z != '.' && z != '@' && z != '_') {
        cout << "NO";
        return 0;
      }
      if (z == '.' && (s[i - 1] == '.' || s[i - 1] == '@' ||
                       i == s.size() - 1 || s[i + 1] == '/')) {
        cout << "NO";
        return 0;
      }
      b++;
    }
    if (h == true && r == true) {
      if (((z > 58 && z < 65) || (z < 97 && z > 90) || z > 122 || z < 47) &&
          z != '_' && z != '/') {
        cout << "NO";
        return 0;
      }
      c++;
    }
  }
  if (h == false || a > 16 || b > 33 || c > 17) {
    cout << "NO";
    return 0;
  }
  cout << "YES";
  return 0;
}
