#QY0023. 版本

版本

题目背景

9.28日,Microsoft 发布了Windows 11 Moment 4更新,发布了GPT-4集成的Windows Copilot,Windows 11系统全面接入AI.

Microsoft Windows [版本 10.0.23550.1000]
(c) Microsoft Corporation。保留所有权利。

题目描述

对于一个正式软件,其版本号是严格命名的。其一般形式为:

主版本号.次版本号.修订号

这是最常见的版本号格式,例如1.0.1。主版本号通常在进行重大功能改进或架构变化时增加,次版本号表示新增功能或较小的改进,修订号则表示错误修复或小的调整。

除此之外,还有先行版本号标识。

标识 描述
alpha 内部测试版(有些也叫 A 测版)。α 是希腊字母的第一个,表示最早的版本,一般此类版本包含很多 BUG ,功能也不全,主要面向的是开发人员和测试人员。
beta 公开测试版(有些也叫 B 测版)。β 是希腊字母的第二个,因此这个版本比alpha版发布较晚一些,主要是给参与内部体验的用户测试用,该版本仍然存在很多 BUG ,但是相对 alpha 版要稳定一些。此时,基本功能已经固定,但仍然可能增加新功能。
rc rc (候选版本),该版本又较 beta 版更进一步了,该版本功能不再增加,和最终发布版功能一样。这个版本的作用是提前预览即将发行版本的内容,并且在该版本后,最终发行版的发布也迫在眉睫了。
release 稳定版。在开源软件中,都有正式版,这个就是开源软件的最终发行版,用户可以放心大胆的用了。

规定:在版本优先级中,主版本号>次版本号>修订号>标识

例如: 1.1.0-release > 1.0.1-release > 1.0.0-release > 1.0.0-rc > 1.0.0-beta > 1.0.0-alpha

现在,给定 n n 行发布记录,请你判断,版本号是否从小到大排列。

输入

n n 行。

第一行一个整数 n n ,代表记录的行数。

接下来的 n n 行,每行一个字符串 si s_i ,代表版本记录。

输出

共1行。

YES代表从小到大排列

NO代表未从小到大排列

样例输入

6
1.0.0-alpha
1.0.2-release
1.0.3-beta
1.0.5-release
1.0.9-release
2.19.3-beta

样例输出

YES

数据规模与约定

提交请使用C++14(O2)

以下规定版本号为a.b.c-xxx

对于60%的数据,保证 n105 n \leq 10^5 0a,b,c9 0 \leq a,b,c \leq 9

对于100%的数据,保证n107 n \leq 10^7 0a,b,c20 0 \leq a,b,c \leq 20