Mô tả
Đội Thanh niên xung phong Hồ Chí Minh vừa nhận được một mật thư cũ từ thời chiến, ghi những dòng tâm huyết của thế hệ đi trước gửi lại thanh niên hôm nay. Tờ giấy đã ố vàng, nét mực nhạt dần, nhưng các đồng chí đội viên kiên quyết giải mã để tri ân di sản.
Qua tra cứu nhật ký tác chiến, các bạn biết mật thư được mã hóa theo lối dịch vòng Caesar: người gửi gốc đã lấy mỗi chữ cái trong bản rõ rồi dịch tiến lên k vị trí theo vòng tròn bảng 26 chữ cái tiếng Anh để sinh ra mật thư. Nhiệm vụ của bạn là làm ngược lại — giải mã bằng cách dịch lùi k vị trí để khôi phục đúng thông điệp ban đầu.
Lưu ý bảng chữ cái tuần hoàn: chữ cái A dịch lùi 1 bước sẽ vòng sang Z, và ngược lại Z tiến 1 bước sẽ sang A.
Đầu vào
Gồm hai phần, ghi trên một dòng theo định dạng:
- Dòng đầu tiên: số nguyên
k(1 ≤ k ≤ 10^9) là độ lệch mã hóa. - Dòng thứ hai: chuỗi
slà bản mật thư, chỉ gồm các chữ cái in hoaA–Z, độ dài từ 1 đến 1000.
Đầu ra
In ra một dòng duy nhất là bản rõ sau khi giải mã, chỉ gồm các chữ cái in hoa.
Ràng buộc
- 1 ≤ k ≤ 10^9.
- 1 ≤ độ dài chuỗi
s≤ 1000. - Chuỗi
schỉ chứa chữ cái in hoa tiếng AnhA–Z.
Ví dụ
Ví dụ 1
Đầu vào:
3 KhoangQJ
Nhưng vì đầu vào chỉ chứa chữ hoa, ta xét đầu vào thực sự:
3 KHOANQJ
Mã hóa gốc đã dịch tiến 3 vị trí. Giải mã dịch lùi 3:
Klùi 3 →HHlùi 3 →EOlùi 3 →LAlùi 3 →XNlùi 3 →K