Trong quá trình khai quật khu định cư của một nền văn minh cổ đại, người ta đã phát hiện ra cư dân thời đó, cũng như những người hiện đại, đã uống đồ uống từ những chiếc chai có dán nhãn với thông tin về thức uống ghi trên chai. Một trong những nhãn này thậm chí còn tồn tại cho đến ngày nay.
Vấn đề là nền văn minh này không sử dụng dấu hiệu chuyển đổi. Ngay sau khi kết thúc dòng, người ta tiếp tục đọc dòng kế tiếp. Khi đọc sách, điều này không gây bất tiện, tuy nhiên, nhãn hiệu khác sách - nhãn đã được dán vào chai hình trụ, trên đó văn bản được viết trên một vòng tròn. Khi đọc văn bản, cần bắt đầu đọc dòng đầu tiên từ nơi dán keo, đọc cho đến khi chạm vào vị trí dán keo, đọc sang dòng thứ \(2\), rồi dòng thứ \(3\) \(\cdots\) Nhưng các nhà khoa học vẫn không thể xác định nơi dán keo! Coi văn bản là một tập hợp các chuỗi có cùng độ dài \(k\), gồm các chữ cái và ký hiệu "." (đó là dấu cách trong nền văn minh này).
May mắn thay, bên cạnh nhãn, có một từ điển liệt kê tất cả những từ có thể được sử dụng ở nền văn minh này. Bây giờ, với những dữ liệu này, bạn cần xác định có bao nhiêu biến thể của vị trí dán keo. Cụ thể hơn, bạn cần phải xác định tất cả những giá trị không âm \(t<k\) sao cho ở mỗi hàng, nối các ký tự trong hàng đó (theo vòng tròn), bắt đầu từ vị trí thứ \(t\), thu được một tập hợp các từ trong từ điển, các từ cách nhau một hoặc nhiều ký tự "."..
Input
- Dòng đầu tiên ghi số nguyên \(m(1 \leq m \leq 2000)\) - số từ trong từ điển. Sau đấy \(m\) dòng ghi các từ trong từ điển. Tất cả các từ đều khác nhau, chỉ gồm chữ cái viết thường trong bảng chữ cái Latinh, độ dài của mỗi từ không vượt quá \(2000\) ký tự.
- Dòng tiếp theo ghi một số nguyên \(n(1 \leq n \leq 2000)\) - số dòng ghi trên nhãn. Các dòng trong \(n\) dòng tiếp theo ghi các chuỗi ký tự được viết trên nhãn. Tất cả các dòng này chỉ gồm các chữ cái viết thường trong bảng chữ cái Latinh và ký tự "." . Chiều dài của tất cả các dòng như nhau và không vượt quá \(2000\) ký tự. Đảm bảo mỗi dòng ghi ít nhất một ký tự ".".
Output
- Dòng đầu tiên ghi số lượng các giá trị của \(t\).
- Dòng kế tiếp in ra các giá trị này được sắp xếp theo thứ tự tăng dần.
Example
Test 1
Input
2
uu
u
5
.uu..uu
.uu...u
...uu.u
.u.u.uu
uuu.uu.
Output
2
1 2
Bình luận
Optimized Trie = 75% 🙁
1 bình luận nữa