#P1408. 合法的变量名?

合法的变量名?

题目描述

James在一节 C++ 课程上,准备为自己的程序定义变量名称。老师告诉James,一个合法的变量名应该满足如下的三个条件:

  1. 只能由字母(大写或者小写)、数字及下划线(`_`)组成。
  2. 不能以数字开头。
  3. 不能是 C++ 中有特殊含义的单词,由于 James 是 C++ 的初学者,只学过 int、double、cout、cin 这四个有特殊含义的单词,因此 James 只要避开这几个单词就可以。
请你编程帮助 James 判断他定义的变量名是否合法。

下表中列举了一些合法的变量名和非法的变量名的案例供你参考。

输入

一行,包含一个字符串,是James为变量起的名字,且长度不大于 2020

输出

一行,如果是合法的 C++ 变量名,则输出 yes,否则输出 no

样例

sum
yes
sum x
no
1x
no

来源

字符串

合法变量名案例

非法变量名案例

x


sum


sum_x


sum2


_sum


INT注意:这是合法的,因为在C++中是区分大小写的,int是表示整数类型,但INT不是)。

sum x:有空格(只能是字母、数字或下划线)


1x:以数字开头


int:有特殊含义


a#:有特殊字符“#”(只能是字母、数字、下划线)。