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 xế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\) bằng cách chỉ giữ lại số lượng chữ cái tương ứng với 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.
-
Ghép dãy \(T\) vào sau dãy \(S\) và ghi dãy thu được vào tệp đầu ra.
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, hãy giúp An tìm lại mật khẩu (S).
Input
Đọc từ tệp CAU3.INP gồm:
- Dòng đầu tiên chứa số nguyên \(n\) \((2 \leq n \leq 5 \times 10^5)\), là số ký tự 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ài \(n\).
Output
Ghi vào tệp CAU3.OUT 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.
Example
Test 1
Input
19
abbracadabraabbcdrr
Output
abbracadabra
Note
Ví dụ 1: Dãy ký tự tương ứng với mật khẩu abbracadabra sau khi sắp xếp theo từ điển trở thành aaaaabbbbccddrr. Do 'a' có nhiều hơn một mục nên chỉ giữ lại một, 'b' có nhiều hơn hai nên giữ lại hai, ..., do đó thu được dãy abbracadabra.
Ví dụ 2: Vì dãy chỉ chứa chữ 'd' với số lượng lớn hơn bảy, ta chỉ giữ lại bảy chữ 'd'.
Test 2
Input
10
dddddddddd
Output
dddddd
Scoring
- 20% số điểm: mật khẩu chỉ gồm chữ cái 'a';
- 40% số điểm: mật khẩu chỉ gồm các chữ cái giống nhau;
- 40% số điểm còn lại không có ràng buộc gì thêm.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.