Quà sinh nhật (Bản khó)

Xem PDF

Điểm: 2400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

AnhTiên là một đôi bạn thân. Nhân ngày sinh nhật của Tiên, Anh quyết định sẽ tặng cô bạn thân một món quà bất ngờ. Từ một nguồn tin thân cận, Anh biết rằng Tiên rất thích học tiếng Anh và các xâu kí tự đẹp, do đó Anh dự định sẽ mua tặng Tiên xâu kí tự mà cô bạn thích. Không may, sau khi mua xong Anh mới biết rằng Tiên cũng không thích một vài xâu kí tự xấu. Không muốn làm bạn mình buồn, Anh sẽ tạo ra một xâu kí tự mới từ xâu cũ mà không có các xâu kí tự xấu đó. Để làm được điều này, Anh sẽ làm như sau:

Anh đang có một xâu kí tự độ dài \(S\) và danh sách các từ xấu muốn xóa khỏi \(S\). Để làm điều này, Anh sẽ tìm lần xuất hiện đầu tiên của một xâu xấu \(T_i\) và xóa nó khỏi xâu \(S\), sau đó gộp 2 phần còn lại vào với nhau. Anh sẽ làm như thế cho đến khi trong xâu \(S\) không còn sự xuất hiện của bất kì xâu xấu \(T_i\) nào nữa. Lưu ý rằng việc xóa một lần xuất hiện có thể tạo ra một lần xuất hiện mới của một xâu xấu \(T_i\) mà trước đó không tồn tại. Anh còn biết rằng trong danh sách các xâu xấu sẽ không có xâu nào là xâu con của một xâu xấu khác. Có nghĩa là xâu xấu xuất hiện đầu tiên trong \(S\) ở mỗi thao tác là duy nhất.

Anh không biết rằng liệu xâu \(S\) cuối cùng sau khi thực hiện các thao tác có đủ đẹp để tặng Tiên không. Nếu xâu \(S\) đó không ưng ý thì Anh sẽ mua một xâu khác và thực hiện, thay vì bỏ thời gian ra để thực hiện với xâu cũ. Bạn hãy giúp Anh xác định xâu \(S\) cuối cùng sau khi thực hiện các thao tác là gì nhé.

Input:

  • Dòng đầu tiên chứa xâu kí tự \(S\), là xâu ban đầu mà Anh\((1 \leq |S| \leq 10^5)\)
  • Dòng thứ hai chứa số nguyên dương \(N\), là số lượng xâu xấu có trong danh sách \((1 \leq N \leq 10^5)\)
  • \(N\) dòng tiếp theo chứa xâu kí tự \(T_i\), là các xâu xấu trong danh sách \((1 \leq |T_i| \leq |S|)\). Tổng độ dài của \(N\) xâu \(T_i\) không quá \(10^5\)
  • Các kí tự trong xâu \(S\)\(T_i\) là các kí tự thường (từ \('a'\) đến \('z'\))

Output:

  • In ra xâu \(S\) cuối cùng sau khi thực hiện thao tác. Dữ liệu đảm bảo rằng xâu \(S\) cuối cùng không rỗng.

Example

Test 1

Input
fromhanieutienwithlove
2
hieu
an
Output
fromtienwithlove

Bình luận

Không có bình luận nào.