Một cách ghép xâu là một dãy từ trong từ điển mà khi nối theo đúng thứ tự sẽ thu được toàn bộ xâu đích. Mỗi ký tự phải thuộc đúng một từ và không được bỏ qua ký tự nào.
Đếm số cách chia toàn bộ xâu đích thành một dãy từ trong từ điển, giữ nguyên thứ tự ký tự. Hai cách khác nhau khi tập vị trí cắt của chúng khác nhau.
Input
- Dòng đầu chứa xâu đích .
- Dòng thứ hai chứa số nguyên , số từ trong từ điển.
- dòng tiếp theo chứa các từ của từ điển.
Output
- In số cách ghép từ các từ trong từ điển, lấy phần dư theo .
Constraints
- .
- .
- và mọi từ chỉ gồm các chữ cái thường đến .
- Các từ trong từ điển đôi một khác nhau.
- Tổng độ dài từ không quá .
Scoring
- Subtask ( điểm): test nhỏ, phù hợp với lời giải trực tiếp theo định nghĩa.
- Subtask ( điểm): test không có giới hạn bổ sung.
Example
Test 1
Input
ba 3 b a ba
Output
2
Giải thích: Có hai cách tạo ba: dùng trực tiếp từ ba, hoặc ghép rồi .