Bạn Tài là một người rất nhạy cảm, đôi khi nhưng điều vô tri nhưng lẻ loi cũng làm bạn cảm thấy buồn. Một hôm bạn được cho một danh sách ~n~ chuỗi ký tự ~S_1, S_2, ..., S_n~ có độ dài cùng bằng ~k~. Với mỗi ~i=1,2,...,n,~ bạn muốn kiểm tra xem chuỗi ký tự ~S[i]~ có cách nào nhận được từ một chuỗi ~S[j]~ nào khác sao cho chỉ cần đổi không quá ~2~ ký tự của chuỗi ~S[j]~ hiện tại hay không. Bạn hãy giúp bạn Tài kiểm tra cho từng chuỗi nhé.
Input
Dòng đầu tiên gồm 2 số n và k (~ 1 \le n \times k \le 10^5 ~)
Tiếp theo n dòng, mỗi dòng là một chuỗi ký tự độ dài k.
Output
In ra n dòng, dòng thứ i in ra "YES" nếu S[i] có thể được tạo ra bằng cách thay đổi nhiều nhất hai ký tự của S[j] ( i != j ). Ngược lại in ra "NO"
Examples
Input
5 5
abcde
aaaaa
aabba
fghij
abade
Output
YES
YES
YES
NO
YES
*Giải thích: *
Chuỗi S[1] có thể tạo ra từ chuỗi S[5] bằng cách thay thế 1 ký tự ở vị trí 3.
Chuỗi S[2] có thể tạo ra từ chuỗi S[3] bằng cách thay thế 2 ký tự ở vị trí 3 và 4.
Chuỗi S[3] không thể được tạo ra từ bất kỳ chuỗi nào khác mà không thay đổi nhiều hơn 2 vị trí
Comments