Máy ghi chữ
Đề bài
Mô tả
Một chiếc máy ghi chữ hoạt động như sau: bạn đọc lần lượt từng chữ cái, máy sẽ viết chúng lên giấy theo đúng thứ tự đó. Tuy nhiên chiếc máy bị chỉnh sửa nên có hai chữ cái bị ghi sai:
- Khi bạn đọc chữ
w, máy viết rauu(hai chữu). - Khi bạn đọc chữ
m, máy viết rann(hai chữn).
Mọi chữ cái khác đều được viết đúng như khi đọc.
Vì w luôn bị thay bằng uu và m luôn bị thay bằng nn, nên bản thân hai chữ w và m không bao giờ xuất hiện trên giấy.
Cho xâu là nội dung đọc được trên giấy. Hãy đếm số xâu khác nhau mà nếu đọc vào máy thì máy sẽ viết ra đúng xâu . Do kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho .
Nếu không có xâu nào tạo ra được , in ra .
Dữ liệu vào
Một dòng duy nhất chứa xâu gồm các chữ cái Latin thường.
Dữ liệu ra
Một số nguyên duy nhất: số xâu thoả mãn, lấy phần dư khi chia cho .
Ràng buộc
- chỉ gồm các chữ cái Latin thường (
ađếnz)
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| ouuokarinn | 4 | Bốn xâu tạo ra được ouuokarinn là ouuokarinn, ouuokarim, owokarim, owokarinn. Cụm uu có thể do đọc uu hoặc đọc w, cụm nn có thể do đọc nn hoặc đọc m, hai lựa chọn này độc lập nhau nên có cách. |
| banana | 1 | Mỗi chữ n đều đứng riêng lẻ nên không thể gộp thành m. Chỉ có chính banana. |
| nnn | 3 | Ba xâu là nnn, nm (chữ n rồi chữ m) và mn (chữ m rồi chữ n). Với một dãy chữ n liên tiếp, số cách chia thành các nhóm một hoặc hai chữ là số Fibonacci. |
| amanda | 0 | Xâu chứa chữ m, mà máy không bao giờ viết ra m. Vậy không xâu nào tạo ra được nó. |
Bình luận