An tạo cho mình một mật khẩu bằng cách sinh ra một dãy ~S~ gồm các chữ cái Latin in thường viết liền nhau. Sau đó bạn thực hiện các bước sau:
- Sắp các chữ cái trong mật khẩu theo thứ tự từ điển;
- Trong dãy ký tự đã sắp, An tạo ra một dãy mới ~T~ từ ~S~ bằng cách chỉ giữ lại số lượng chữ cái tương ứng với số thứ tự của nó trong bảng chữ cái:
- Nếu có nhiều hơn một chữ cái
a
thì chỉ giữ lại một; - Nếu có nhiều hơn hai chữ cái
b
thì chỉ giữ lại hai, ngược lại thì giữ nguyên; - Nếu có nhiều hơn ba chữ cái
c
thì chỉ giữ lại ba, ngược lại thì giữ nguyên; - ...
- Nếu có nhiều hơn ~26~ chữ cái
z
thì chỉ giữ lại ~26~, ngược lại thì giữ nguyên.
- Nếu có nhiều hơn một chữ cái
- Ghép dãy ~T~ vào sau dãy ~S~ và ghi dãy thu được vào sổ tay của mình.
Sau một thời gian, An không thể tìm ra mật khẩu (~S~) của mình nữa.
Yêu cầu
Từ dãy chữ cái đã ghi trong sổ tay của An, bạn hãy giúp An tìm lại mật khẩu (~S~).
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng đầu tiên chứa số nguyên ~n~ ~(2 \le n \le 5 \times 10^5)~ là số chữ của dãy chữ cái trong sổ tay của An;
- Dòng thứ hai chứa dãy chữ cái hợp lệ đó.
Dữ liệu đầu ra
Gồm một dòng ghi dãy chữ cái Latin in thường là mật khẩu (~S~) tìm được.
Ràng buộc dữ liệu
- Có 20% số điểm: mật khẩu chỉ gồm chữ cái
a
; - Có 40% số điểm: mật khẩu chỉ gồm các chữ cái giống nhau;
- Có 40% số điểm còn lại không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
19
abbracadabraabbcdrr
OUTPUT
abbracadabra
Giải thích: Dãy ký tự tương ứng với mật khẩu abbracadabra
sau khi sắp xếp theo thứ tự từ điển ta có aaaaabbbcdrr
. Do a
có nhiều hơn một nên chỉ giữ lại một, b
chỉ giữ lại hai, c
, d
, rr
giữ nguyên (r
có thứ tự ~18~ trong bảng chữ cái). Dãy ~T~ thu được abbcdrr
. Dãy ký tự được ghi vào sổ tay là dãy abbracadabraabbcdrr
.
Ví dụ 2
INPUT
10
dddddddddd
OUTPUT
dddddd
Giải thích: Do mật khẩu dddddd
có nhiều hơn bốn chữ cái nên An chỉ giữ lại bốn. ~4~ chữ d
ghép vào sau mật khẩu tạo ra dãy ghi trong sổ tay có 10
chữ cái d
.
Bình luận