PASSWORD3
Do dịch Covid-19, hai bạn Hồng và Chi không được đi học và gặp nhau nhưng hai bạn vẫn thường xuyên nhắn tin cho nhau. Một lần, Hồng muốn gửi mật khẩu tham gia lớp học online do Chi nhưng không muốn em Phúc tò mò và biết được. Theo ý tưởng giấu tin trong ảnh, Hồng quyết định sẽ giấu mật khẩu vào trong đoạn văn bản gửi cho Chi.
Cụ thể, với một văn bản mà Hồng gửi cho Chi được biểu diễn bằng xâu ký tự \(T = t_1 t_2 … t_n\) (gồm \(n\) ký tự, mỗi ký tự thuộc \(a\) đến \(z\)) và dãy số nguyên \(a_1, a\)2, …, a\(m ( 1 ≤ a_1 < a_2 < … < a_m ≤ n)\) là dãy số mà hai bạn đã thống nhất thì mật khẩu là một xâu \(P = t_{a1} t_{a2} … t_{am}\), là xâu độ dài \(m\) nhận được bằng cách ghép lần lượt các ký tự ở các vị trí \(a_1, a_2, …, a_m\). Ví dụ, \(T=missyouuu\) và dãy số \(a_1 = 2, a_2 = 3, a_3=5, a_4=6, a_5=8\) thì mật khẩu là \(P= isyou \).
Hồng nhanh chóng nhận ra rằng, với một xâu \(T\) và mật khẩu \(P\) sẽ tồn tại nhiều dãy số để xác định mật khẩu. Ví dụ, một dãy số khác \(a_1 = 2, a_2 = 4, a_3=5, a_4=6, a_5=7\) cũng xác định được mật khẩu \(P= isyou \) trong xâu \(T= missyouuu\).
Trong quá trình gửi, xâu \(T\) sẽ được mã hóa theo phương thức RLE ( Run Length Encoding). Nghĩa là, một xâu \(T\) chỉ gồm các ký tự \(a\) đến \(z\) được mã hóa thành xâu TE (chỉ gồm các ký tự \(a\) đến \(z\) và ký tự \(0\) đến \(9\)) bằng cách đi từ trái sang phải, mã hóa dãy các ký tự liên tiếp giống nhau trong \(T\) thành ký tự đại diện và số lượng.
Ví dụ, xâu \(T = missyouuuuuuuuuu\) thì \(TE = m1i1s2y1o1u10\).
Yêu cầu: Cho xâu \(TE\) (là mã hóa của xâu \(T\)) và xâu mật khẩu \(P\), gọi \(R\) là số lượng dãy số khác nhau có thể xác định được mật khẩu \(P\) trong xâu \(T\). Hãy tính \(R\) chia dư cho \(10^9 + 7\).
Dữ liệu vào
Dòng đầu chứa hai số nguyên dương \(n, m\);
Dòng thứ hai chứa một xâu là mã hóa của xâu \(T\)
Dòng thứ ba chứa một xâu là xâu \(P\).
Kết quả
- Ghi ra một số nguyên duy nhất là số \(R\) chia dư cho \(10^9 + 7\).
Sample Input
9 5
m1i1s2y1o1u3
isyou
Sample Output
6
Ràng buộc
Có 20% số lượng test ứng với 20% số điểm thỏa mãn điều kiện: \(n ≤ 20, m=1\) ;
Có 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: \(n ≤ 20, m < n\);
Có 20% số lượng test ứng khác với 20% số điểm thỏa mãn điều kiện: \(n ≤ 10^5, m=3\);
Có 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: \(n ≤ 10^5, m ≤ 30\);
Có 20% số lượng test còn lại ứng với 20% số điểm thỏa mãn điều kiện: : \(n ≤ 10^9, m ≤ 30\);và xâu mã hóa của xâu T có độ dài không vượt quá \(10^5\)
Comments