字母转盘(turntable)

题目描述

DAMON THRONE\text{DAMON THRONE} 的每日一练系统会生成一个由小写字母组成的口令。

现在给定一个长度为 nn 的小写字母串 ss,以及一个整数 kk。系统会按照下面的规则对字符串进行变换:

  • 对于第 1,3,5,1,3,5,\ldots 个字符,也就是奇数位置字符,将它在字母表中向后移动 kk 位;
  • 对于第 2,4,6,2,4,6,\ldots 个字符,也就是偶数位置字符,将它在字母表中向前移动 kk 位。

字母表是循环的:

  • z\texttt{z} 向后移动 11 位会变成 a\texttt{a}
  • a\texttt{a} 向前移动 11 位会变成 z\texttt{z}

请你输出变换后的字符串,并统计有多少个位置上的字符发生了变化。

输入格式

第一行包含两个整数 n,kn,k,表示字符串长度和移动位数。

第二行包含一个长度为 nn 的字符串 ss,字符串只包含小写英文字母。

输出格式

输出两行。

第一行输出变换后的字符串。

第二行输出一个整数,表示有多少个位置上的字符发生了变化。

输入输出样例 #1

输入 #1

5 2
abcde

输出 #1

czebg
5

样例解释 #1

原字符串为:abcde\texttt{abcde}

1,3,51,3,5 个字符向后移动 22 位:

ac,ce,ega \to c,\quad c \to e,\quad e \to g

2,42,4 个字符向前移动 22 位:

bz,dbb \to z,\quad d \to b

所以变换后的字符串为:czebg\texttt{czebg}

一共有 55 个位置上的字符发生了变化。

输入输出样例 #2

输入 #2

6 26
damond

输出 #2

damond
0

样例解释 #2

因为字母表共有 2626 个小写字母,移动 2626 位后每个字符都会回到原来的位置。

所以变换后的字符串仍然是:damond\texttt{damond}

没有任何位置上的字符发生变化,答案为 00

数据范围与约定

对于所有测试数据,保证:

1n105,0k1091 \le n \le 10^5,\quad 0 \le k \le 10^9

字符串 ss 只包含小写英文字母。

测试点 分值 nn kk 特殊性质
121\sim 2 2020 20\le 20 25\le 25
343\sim 4 104\le 10^4
565\sim 6 105\le 10^5 =0=0 A\text{A}
787\sim 8 106\le 10^6 B\text{B}
9109\sim 10 109\le 10^9

特殊性质 A\text{A}:保证 k=0k=0

特殊性质 B\text{B}:保证存在非负整数 tt,使得 k=26tk=26t