Hôm nay, thầy giáo Tin học của lớp Bo thấy các bạn học chăm chỉ nên sau giờ thực hành, thầy cho các em truy cập wifi để giải trí. Để vào wifi, các em cần có một mật khẩu. Thầy cho một xâu ~s~ gồm các kí tự in thường trong bảng chữ cái tiếng Anh và kí tự *
. Xâu mật khẩu có được bằng cách: đi theo thứ tự từ trái qua phải của xâu ~s~, các em thay mỗi kí tự *
trong xâu ~s~ bằng một kí tự in thường (ưu tiên chọn kí tự đứng trước trong bảng chữ cái để thay), nhưng đảm bảo số lần xuất hiện của mỗi kí tự ~c~ trong xâu ~s~ đúng bằng ~f_c~ (với ~c~ là một kí tự trong bảng chữ cái từ a
đến z
).
Yêu cầu
Hãy cho biết xâu mật khẩu.
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng thứ nhất chứa xâu ~s~ chỉ gồm các kí tự in thường và kí tự
*
~(1 \le |s| \le 10^5)~; - Dòng thứ hai gồm ~26~ số nguyên không âm ~f_a f_b, ...., f_z~ tương ứng là số lần xuất hiện của các kí tự từ
a
đếnz
trong xâu ~s~, giữa các số được cách nhau bởi một dấu cách ~(0 \le f_c \le 10^5,\ a \le c \le z)~.
Dữ liệu vào đảm bảo xâu ~s~ khác rỗng, luôn có ký tự *
trong xâu ~s~ và tổng ~f_a + f_b + ... + f_z~ đúng bằng số lượng kí tự *
có trong xâu ~s~.
Dữ liệu đầu ra
Gồm xâu mật khẩu.
Ví dụ
Ví dụ 1
INPUT
bc*m**a
1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OUTPUT
bcamdda
Giải thích: Có ~3~ dấu *
trong xâu ~s~.
- Dấu
*
thứ nhất được thay bởi kí tựa
(vì ~f_a = 1~). - Dấu
*
thứ hai và thứ ba được thay bởi kí tựd
(vì ~f_d = 2~).
Ví dụ 2
INPUT
y*e**z*
0 0 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
OUTPUT
ydedfzz
Bình luận