Cho một xâu \(S\) gồm chữ cái và chữ số. Mỗi dãy chữ số liên tiếp tối đa trong \(S\) tạo thành một số (số có thể có nhiều chữ số). Hãy sắp xếp các số đó theo thứ tự tăng dần theo giá trị, sau đó đặt lại chúng vào đúng những vị trí mà các số cũ chiếm (số nhỏ nhất vào vị trí số đầu tiên, ...), còn các chữ cái giữ nguyên vị trí.
Input
- Một dòng chứa xâu \(S\). Xâu không chứa chữ số \(0\) và bắt đầu bằng chữ cái.
Output
- In ra xâu sau khi sắp xếp.
Constraints
- \(1 \le |S| \le 10^5\).
- Các số có thể rất dài (tới hàng chục nghìn chữ số) nên hãy so sánh chúng cẩn thận.
Sample Input
Xy91ab5kk37z2
Sample Output
Xy2ab5kk37z91
Explanation
Các số theo thứ tự xuất hiện là \(91, 5, 37, 2\); sau khi sắp tăng dần là \(2, 5, 37, 91\) và được đặt lần lượt vào các vị trí đó.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.