Đếm số cách nối một dãy từ trong từ điển để nhận đúng chuỗi đích, với thứ tự ký tự được giữ nguyên.
Một cách ghép là một dãy từ có phép nối đúng bằng . Một từ có thể được chọn lại; hai cách khác nhau khi dãy vị trí kết thúc các từ khác nhau.
Input
- Dòng đầu chứa chuỗi đích .
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo chứa các từ trong từ điển, đôi một khác nhau.
Output
- In số cách biểu diễn thành phép nối của một hoặc nhiều từ trong từ điển, lấy modulo .
Constraints
- .
- .
- và các từ chỉ gồm chữ cái thường .
- Các từ trong từ điển đôi một khác nhau.
- Tổng độ dài của từ không vượt quá .
- Mỗi từ trong từ điển có thể được dùng nhiều lần ở các vị trí khác nhau.
Scoring
- Subtask ( số điểm): và .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
aaaa 3 a aa aaa
Output
7
Giải thích: Các độ dài từ có thể chọn là hoặc . Bảy cách phân tích độ dài là , ba hoán vị của , hai hoán vị của , và .