#P1623. 规范变量名

规范变量名

Description

在软件开发过程中,高规范的变量命名能够让变量的用途和含义直观易懂,显著降低代码的阅读、调试、维护成本,同时减少因变量含义模糊引发的逻辑错误,是提升代码可维护性和团队协作效率的基础。

常用的命名方法包括:

  • 驼峰(Camel):单词之间没有分隔符,第一个单词首字母小写,其余单词首字母大写,其余字母小写,例如commandList

  • 帕斯卡(Pascal):单词之间没有分隔符,所有单词首字母大写,其余字母小写,例如CommandList

  • 下划线(Snake):单词之间用下划线“_”分隔,所有字母小写,例如command_list

Orange在Github上与其他人合作开发一个项目,每个人都具备良好的软件工程素养,保证所有的变量名都符合三种常用命名方法。但是,由于每个人开发习惯的不同,在进行开发时,所有人都偏好使用自己习惯的命名方法。这导致该项目中可能同时存在驼峰,帕斯卡,下划线这三种命名方法。这非常不优雅。于是,Orange决定规范所有变量的命名方法。

你需要写一个程序,把所有的变量名规范成指定的命名方法。

Format

Input

输入第一行包含一个整数 nn 和一个字符串 pp,分别表示变量总数和指定的命名方法。

接下来 nn 行,每行一个字符串 ss,表示一个变量名。

数据范围

1n1031 \le n \le 10^3 s100|s| \le 100 $p \in \{\text{Camel}, \text{Pascal}, \text{Snake}\}$

保证单词不会有连续的大写字母。

Output

对于每个输入的字符串 ss,输出将其转化成指定的命名方法的新变量名。

Samples

4 Snake
userName
Password
background_color
text
user_name
password
background_color
text