Bạn là một điệp viên cho một tổ chức gián điệp hàng đầu. Bạn đang trong một nhiệm vụ rất nguy hiểm, đó là thâm nhập vào tổ chức đối thủ, thu nhập những thông tin quan trọng và chuyển về bằng mật thư cho tổ chức của bạn. Tuy nhiên, tổ chức đối thủ củng đã đang để ý đến bạn, họ có thể sẽ kiểm tra thư của bạn để biết bạn đã gửi cái gì ra bên ngoài, nếu họ biết được bạn là gián điệp, họ sẽ bắt và "xử lí" bạn.
Vì vậy, bạn không thể viết mật thư một cách đơn giản, bạn cần phải mã hoá mật thư đó theo quy định từ tổ chức của bạn. Biết rằng, mật thư chỉ được phép bao gồm ~N~ chữ cái in hoa và in thường và bạn sẽ được nhận một số ~K~ từ tổ chức. Nhiệm vụ của bạn là mã hoá mật thư theo cách sau:
- Nếu đó là kí tự in hoa thì dịch lên ~K~ lần theo thứ tự chữ cái. Ví dụ:
A
dịch lên ~2~ lần thì thànhC
. Nếu vượt quáZ
, bảng chữ cái sẽ được xem là một vòng tròn, quay lại từA
và tiếp tục quá trình dịch. - Nếu đó là kí tự in thường thì dịch xuống ~K~ lần theo thứ tự chữ cái. Ví dụ:
c
dịch xuống ~2~ lần thì thànha
.Nếu lùi quáa
, bảng chữ cái sẽ được xem là một vòng tròn, quay lại từz
và tiếp tục quá trình dịch.
Bạn hãy lập trình một chương trình giúp bạn mã hoá mật thư, tránh sự theo dõi từ tổ chức đối thủ.
Dữ liệu vào
- Dòng đầu tiên chứa ~2~ số nguyên ~N~ và ~K~ ~(1 \le N, K \le 10^6)~
- Dòng thứ hai chứa một xâu gồm một dãy ~N~ chữ cái liên tục.
Dữ liệu ra
Một dòng duy nhất là một xâu là ~N~ chữ cái sau khi mã hoá.
Giới hạn
- Subtask 1 ~(50\%)~: ~N, K \le 255~
- Subtask 2 ~(50\%)~: ~N, K \le 10^6~
Ví dụ
Dữ liệu vào
6 4
HelloZ
Dữ liệu ra
LahhkD
Giải thích
- Kí tự
H
dịch lên ~4~lần:H
~\rightarrow~I
~\rightarrow~J
~\rightarrow~K
~\rightarrow~L
- Kí tự
e
dịch xuống ~4~ lần:e
~\rightarrow~d
~\rightarrow~c
~\rightarrow~b
~\rightarrow~a
- Kí tự
l
dịch xuống ~4~ lần:l
~\rightarrow~k
~\rightarrow~j
~\rightarrow~i
~\rightarrow~h
- Kí tự
o
dịch xuống ~4~ lần:o
~\rightarrow~n
~\rightarrow~m
~\rightarrow~l
~\rightarrow~k
- Kí tự
Z
dịch lên ~4~ lần:Z
~\rightarrow~A
~\rightarrow~B
~\rightarrow~C
~\rightarrow~D
Comments