{"code":"utovif","name":"Biến u thành v được hay không ?","description":"Cho hai xâu nhị phân $u$ và $v$ và một phép toán sau:\r\n\r\n - Chọn hai phần tử kề nhau bất kỳ của xâu $u$. Giả sử đó là $p$ và $q$. \r\n\r\n - Đặt $x = p \\oplus q$ và $y = p | q$, sau đó thay thế hai phần tử $p,q$ thành $x,y$ theo thứ tự tuỳ ý. Tức là $(p,q)$ có thể thay thế thành $(x,y)$ hoặc $(y,x)$\r\n\r\nHỏi ta có thể biến xâu $u$ thành xâu $v$ hay không nếu ta thực hiện phép toán trên với số lần tuỳ ý ?\r\n\r\n**Ghi chú:** $\\oplus$ - Là phép toán XOR và $|$ - Là phép toán OR\r\n\r\n<h4>Input</h4>\r\n\r\n- Dòng thứ nhất chứa số $t(1\\le t\\le 100)$ - Thể hiện số testcase\r\n\r\n- $t$ block tiếp theo, mỗi block gồm 2 dòng chứ hai xâu $u,v(1\\le |u|,|v|\\le 10^4)$. Biết rằng độ dài hai xâu $u,v$ không nhất thiết bằng nhau.\r\n\r\n<h4>Output</h4>\r\n\r\n- Ứng với mỗi testcase, in ra \"YES\" nếu xâu $u$ có thể thành xâu $v$, ngược lại in ra \"NO\"\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        2\r\n        10\r\n        111\r\n        111\r\n        110\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        NO\r\n        YES\r\n        ```","points":320.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"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}}