#L5020. 「POI 2022/2023 R2」Wirus

    ID: 4343 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>线性代数位运算数论快速幂数据结构bitset优化

「POI 2022/2023 R2」Wirus

题目描述

题目译自 XXX Olimpiada Informatyczna – II etap Wirus

Bajtosia 在 Bajtocja 最先进的生物实验室工作,她的团队研究一种新型病毒。该病毒的基因型仅由两种基因组成,记为 0011,总计 nn 个基因,可表示为序列 (X1,X2,,Xn)(X_1, X_2, \ldots, X_n),其中每个 XiX_i0011

不幸的是,这种病毒以独特但规律的方式变异。每天,左侧第一个基因 X1X_1 脱离,变为 X1X2X_1 \oplus X_2\oplus 表示异或运算),然后附着到序列右侧。因此,基因型 (X1,X2,,Xn)(X_1, X_2, \ldots, X_n) 变异后为 (X2,X3,,Xn,X1X2)(X_2, X_3, \ldots, X_n, X_1 \oplus X_2)

Bajtosia 需要预测病毒在 dd 天后的基因型。你能帮助她吗?


输入格式

第一行包含两个整数 nn, dd (2n7002 \leq n \leq 700, 1d10151 \leq d \leq 10^{15}),分别表示基因型长度和变异天数。

第二行包含一个长度为 nn 的字符串,由字符 X1,X2,,XnX_1, X_2, \ldots, X_n (Xi{0,1}X_i \in \{0, 1\}) 组成,第 ii 个字符表示第 ii 个基因的类型。


输出格式

输出一行,包含长度为 nn 的字符串,表示 dd 天后病毒的基因型,格式与输入相同。


样例

输入

5 4
01010

输出

01111

病毒基因型每日变化如下:

01010 → 10101 → 01011 → 10111 → 01111


附加样例

  • n=10n=10, d=30d=30,初始基因型 1010000101,答案为 0110110110
  • n=100n=100, d=2000000d=2000000,初始基因型 000…000,答案为 000…000
  • n=700n=700, d=1015d=10^{15},初始基因型 111…111

数据范围与提示

子任务编号 附加限制 分值
1 d100d \leq 100 7
2 d2000000d \leq 2000000 12
3 n100n \leq 100 65
4 无附加限制 16