{"code":"hackhashing","name":"Hack Hashing","description":"Thuật toán Rabin-Karp là một thuật toán rất phổ biến trong lập trình thi đấu vì sự đa năng của nó. Thuật toán này biến một xâu $s$ thành một số nguyên ký hiệu là $hash(s)$, sao cho mỗi xâu $s$ chỉ có một $hash(s)$, nhưng có thể có nhiều xâu $s$ có thể thu được từ một số nguyên $hash(s)$.\r\n\r\nCụ thể hơn, thuật toán hoạt động như sau:\r\n- Chọn một cơ số $b \\ge 255$ và một modulo $m$.\r\n- Đặt $hash(\"\") = 0$.\r\n- Với một xâu $a$ và một ký tự $c$, $hash(a + c) = (hash(a) * b + v(c))\\ \\%\\ m$, với $v(c)$ là thứ tự của ký tự $c$ trong bảng mã ASCII.\r\n\r\nTa có thể thấy, với hai xâu $s$ và $t$:\r\n- Nếu $hash(s)\\neq hash(t)$ thì $s\\neq t$.\r\n- Nếu $hash(s) = hash(t)$ thì **nhiều khả năng** $s = t$.\r\n\r\nBạn được cho trước hai số nguyên $b$ và $m$, bạn phải tìm hai xâu $s$ và $t$ gồm các chữ cái in thường trong bảng chữ cái tiếng Anh sao cho $hash(s)=hash(t)$ nhưng $s\\neq t$. Nếu có nhiều cặp xâu như vậy, in ra một cặp bất kỳ.\r\n\r\n**Lưu ý:** `judge_output` chỉ để cho vui, không có giá trị gì đâu :D, nên đừng có print cái đấy ra nhé.\r\n\r\n<h4>Constrants</h4>\r\n\r\n- $b, m \\le 10^6$.\r\n\r\n<h4>Scoring</h4>\r\n\r\nVới $|s|$ và $|t|$ lần lượt là độ dài hai xâu $s$ và $t$, bạn sẽ nhận được:\r\n- Subtask $1$ ($25\\%$ số điểm): $|s|, |t| \\le 10^6$.\r\n- Subtask $2$ ($10\\%$ số điểm): $|s|, |t| \\le 10^5$.\r\n- Subtask $3$ ($10\\%$ số điểm): $|s|, |t| \\le 10^4$.\r\n- Subtask $4$ ($15\\%$ số điểm): $|s|, |t| \\le 10^3$.\r\n- Subtask $5$ ($10\\%$ số điểm): $|s|, |t| \\le 100$.\r\n- Subtask $6$ ($15\\%$ số điểm): $|s|, |t| \\le 10$.\r\n- Subtask $7$ ($15\\%$ số điểm): $|s|, |t| \\le 5$.\r\n\r\n<h4>Example</h4>\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n\r\n        ```sample\r\n        255 773\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        a\r\n        ab\r\n        ```\r\n        \r\n    ??? warning \"Note\"\r\n\r\n        - Ta có $hash(\"a\") = hash(\"\")*255+97 = 97$.\r\n        - Ta có $hash(\"ab\") = (hash(\"a\")*255+98)\\ \\% \\ 773=97$.","points":200.0,"partial":true,"time_limit":1.0,"memory_limit":1048576,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}