{"trustable":true,"sections":[{"title":"","value":{"format":"MD","content":"Như bạn có thể biết, bộ xử lý thông tin của con người là một trình nhận diện văn bản tuyệt vời có thể xử lý ngay cả những câu bị lộn xộn như sau:\n\n**The ACM Itrenntaoial Clloegaite Porgarmmnig Cnotset (IPCC) porvdies clolgee stuetnds wtih ooppriuntetiis to itnrecat wtih sutednts form ohetr uinevsrtieis.**\n\nMọi người đã tuyên bố rằng việc hiểu những câu này hoạt động chung khi sử dụng quy tắc sau: Chữ cái đầu và cuối cùng của mỗi từ vẫn không thay đổi và tất cả các ký tự ở giữa có thể được sắp xếp lại một cách tự do. Vì bạn là một lập trình viên ACM, bạn ngay lập tức viết chương trình sau: Cho một câu và một từ điển các từ, bạn có thể tìm thấy bao nhiêu câu khác nhau có thể được ánh xạ vào cùng một mã hóa?"}},{"title":"Nhập","value":{"format":"MD","content":"Đầu vào bắt đầu bằng một số nguyên **T (\u0026#8804; 20)**, cho biết số lượng các bộ test.\n\nMỗi bộ test bắt đầu bằng một dòng chứa số **n (0 \u0026#8804; n \u0026#8804; 10000)** từ trong từ điển, được in trên **n** dòng tiếp theo. Sau đó, có một dòng chứa số **m (0 \u0026#8804; m \u0026#8804; 10000)** của các câu cần được kiểm tra với từ điển trước đó và sau đó **m** dòng chứa những câu đó.\n\nCác câu gồm các chữ cái từ **a** đến **z**, **A** đến **Z** và chỉ có khoảng trắng và có độ dài tối đa là **10000** ký tự. Đối với mỗi từ trong từ điển, có thể giả định giới hạn là **100** ký tự. Các từ phân biệt chữ hoa chữ thường. Trong mọi trường hợp, tổng số ký tự trong các câu sẽ tối đa là **10\u003csup\u003e5\u003c/sup\u003e**. Và tổng số ký tự trong từ điển sẽ tối đa là **10\u003csup\u003e5\u003c/sup\u003e**."}},{"title":"Đầu ra","value":{"format":"MD","content":"Đối với mỗi bộ test, in ra số thứ tự của bộ test trước tiên. Sau đó đối với mỗi câu, đưa ra số lượng câu có thể được tạo ra trên một dòng riêng biệt. Kết quả phải vừa với số nguyên có dấu 32 bit."}},{"title":"Ví dụ","value":{"format":"MD","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e1\n8\nbaggers\nbeggars\nin\nthe\nblowed\nbowled\nbarn\nbran\n1\nbeggars bowled in the barn\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eCase 1:\n8\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"Ghi chú","value":{"format":"MD","content":"Tập dữ liệu rất lớn, hãy sử dụng các phương pháp I/O nhanh hơn."}}]}