Trong một buổi sinh hoạt chuyên đề về mã hóa thông tin, bạn Mai đã được tìm hiểu về một cách mã hóa đơn giản như sau:
Gọi ~S~ là thông tin ban đầu, là một xâu kí tự chỉ gồm các chữ cái in hoa và in thường trong bảng chữ cái tiếng Anh. Người ta sử dụng một khóa bí mật ~K~ là một dãy số gồm ~N (1 < N < 10) ~ chữ số từ ~1~ đến ~N~, nhưng được sắp xếp theo một thứ tự nào đó.
Bước ~1~: Người ta sẽ phân phối xâu ~S~ vào một mảng gồm ~N~ cột (~N~ là độ dài của khóa bí mật) và ~M~ dòng tùy theo độ dài của ~S~, các cột được đánh số từ ~1~ đến ~N~ và từ trái sang phải. Người ta sẽ bổ sung vừa đủ các kí tự A
vào cuối xâu ~S~ để lấp đầy các ô trống trong mảng (nếu có).
Bước ~2~: Thực hiện ghép các kí tự từ trên xuống dưới theo từng cột, thứ tự ghép các cột dựa vào các số từ trái sang phải trong khóa bí mật.
Ví dụ: Khóa bí mật là 1423
và ~S~ là HSGTinhLongAn
:
- Bước ~1~: Phân phối ~S~ vào mảng, do thiếu ~3~ vị trí ở cuối mảng nên người ta đã thêm ~3~ kí tự
A
vào cuối ~S~.
H
S
G
T
i
n
h
L
o
n
g
A
n
A
A
A
- Bước ~2~: Lấy lần lượt các kí tự từ trên xuống dưới từ các cột ~1, 4, 2, 3~ ghép lại với nhau, thu được xâu đã được mã hóa như sau:
HionTLAASnnAGhgA
Yêu cầu
Cho khóa bí mật ~K~ và xâu đã được mã hóa theo cách trên (có độ dài không quá ~10000~ kí tự). Hãy tìm xâu thông tin ban đầu (sau khi đã thêm các kí tự A
nếu có).
Dữ liệu vào
• Dòng thứ nhất chứa khóa bí mật ~K~ gồm ~N~ chữ số liên tiếp nhau.
• Dòng thứ hai chứa xâu đã được mã hóa.
Kết quả
Xâu thông tin ban đầu sau khi đã thêm các kí tự A
(nếu có).
Sample Input
1423
HionTLAASnnAGhgA
Sample Output
HSGTinhLongAnAAA
Comments