CSES - Word Combinations | Kết hợp từ

Xem PDF

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

Bạn được cho một xâu độ dài \(n\) và một từ điển chứa \(k\) từ. Bạn có thể tạo xâu bằng các từ theo nhiêu cách?

Input

  • Dòng đầu vào đầu tiên có một xâu chứa \(n\) kí tự giữa a - z.
  • Dòng thứ hai có một số nguyên \(k\): số từ trong từ điển.
  • Cuối cùng là \(k\) dòng mô tả các từ. Mỗi từ là duy nhất và bao gồm các ký tự a - z.

Output

  • In số cách chia lấy dư cho \(10 ^ 9 + 7\).

Constraint

  • \(1 \leq n \leq 5000\)
  • \(1 \leq k \le 10 ^ 5\)
  • tổng độ dài của các từ tối đa là \(10 ^ 6\)

Example

Test 1

Input

ababc
4
ab
abab
c
cb

Output

2

Note

Các cách có thể là ab\(+\)ab\(+\)cabab\(+\)c.


Bình luận

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