题目链接:https://codeforces.com/contest/21/problem/A
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
bool check(string s)
{
if(s.size()<1 || s.size()>16) return false;
for(int i=0;s[i];i++)
if(!isalnum(s[i]) && s[i]!='_') return false;
return true;
}
int main()
{
string s;
cin>>s;
bool flag=true;
int pos1=s.find('@');
flag=check(s.substr(0,pos1));
s=s.substr(pos1+1);
int pos2=s.find('/');
if(pos2!=-1 && flag)
{
flag=check(s.substr(pos2+1));
s=s.substr(0,pos2);
}
int pos3;
if(flag)
{
do{
pos3=s.find('.');
if(pos3!=-1)
{
flag=check(s.substr(0,pos3));
s=s.substr(pos3+1);
}
else flag=check(s);
}while(pos3!=-1 && flag);
}
if(flag) puts("YES");
else puts("NO");
return 0;
}