#P2558. Genetic Code

Genetic Code

题目描述

数学与生物学之间的联系非常复杂。大多数时候,它们并不是通过那些乍一看就很美好的关联相连,而是抽象且不易建立的。

沃斯托克湖(Lake Vostok)——面积约 1400014000 平方公里,最深处达 650650 米,并被 37433743 米的冰层覆盖——最近在南极洲被发现。该湖在高压和无阳光的条件下存在了数百万年。人们认为,普通生命已经进化成了一种更高效的形式,其遗传密码仅由三个碱基组成(目前的无知状态宣称四个碱基为腺嘌呤(AA)、胞嘧啶(CC)、鸟嘌呤(GG)和胸腺嘧啶(TT))。在找到合理的名称之前,这三个碱基将缩写为 NNOOPP

此外,基因组是单链且有方向的,即我们可以将其视为字母表 {N,O,P}\{N, O, P\} 上的序列。除非存在不稳定的风险,否则基因组必须是一个 Thue 序列(由挪威数学家 A. Thue(186319221863-1922)提出)。定义一个序列的子段为一个连续的序列,并称两个子段相邻如果一个子段紧跟在另一个子段之后。Thue 序列是指其中没有相邻子段相等的序列。例如:

  • NOPNO Thue 序列。
  • NOPNPNO 不是 Thue 序列(因为 NOPNPO 是相邻且相等的子段)。

因此,前者可能是基因组,而后者可能不是。

为了能够模拟对新基因组的实验,你需要生成长度为 nn 的基因组。

输入格式

输入包含多个测试用例。每个测试用例包含一个整数 nn。你可以假设 1n50001 \leq n \leq 5000。最后一个测试用例后跟一个 00

输出格式

对于每个给定的 nn,输出一行任意一个长度为 nn 的基因组。如果不存在长度为 nn 的基因组,则输出一个空行。

示例输入

1
2
10
20
0

示例输出

N
NO
NONPNOPNPO
NONPNOPNPONOPNONPNOP

来源

乌尔姆当地(竞赛)20032003年(试题)