Point: 100.0
Time limit: 1.0s
Memory limit: 250 M
Input: stdin
Output: stdout
Author:  
Problem types
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Bình An đang chơi một trò chơi trên máy tính. Bây giờ anh ấy muốn hoàn thành level đầu tiên (level A) của trò chơi này.

Level A là một bảng hình chữ nhật gồm 2 hàng và n cột. Bình An điều khiển một nhân vật, bắt đầu trong ô (1,1) - tại giao điểm của hàng 1 và cột 1.

Nhân vật của Bình An có thể di chuyển từ ô này sang ô khác nếu các ô kề cạnh hoặc kề đỉnh. Có nghĩa là, một bước từ ô \((x_1,y_1)\) có thể di chuyển sang ô \((x_2,y_2)\) nếu \(|x_1-x_2 |≤1\)\(|y_1-y_2 |≤1\). Lưu ý, không được di chuyển ra khỏi bảng.

Một số ô trong bang có bẫy và nhân vật của Bình An không thể đi vào ô đó.

Để hoàn thành level A, nhân vật của Bình An phải đến ô \((2,n)\) - ở giao điểm của hàng 2 và cột \(n\).

Yêu cầu:

Giúp Bình An xác định xem có thể hoàn thành màn chơi hay không.

Dữ liệu

  • Dòng đầu tiên chứa số nguyên dương \(n (3≤n≤100)\)
  • Hai dòng tiếp theo mô tả bảng chữ nhật: Dòng thứ i mô tả trạng thái dòng i của bảng, các dòng bao gồm các ký tự ‘0’ và ‘1’. Ký tự ‘0’ tương ứng với ô an toàn, ký tự ‘1’ tương ứng với ô bẫy. Các ô (1,1) và (2, n) là an toàn.

Kết quả

• Một dòng duy nhất đưa ra thông báo “YES” nếu có thể hoàn thành trò chơi, và thông báo “NO” trong trường hợp ngược lại.

Ví dụ

INPUT OUTPUT Giải thích
\(3\)
\(000\)
\(000\)
YES \((1, 1)\) -> \((1, 2)\) ->\((2, 3)\)
\(4\)
\(0011\)
\(1100\)
YES \((1,1)\)\((1,2)\)\((2,3)\)\((2,4)\)
\(4\)
\(0111\)
\(1110\)
NO Không có cách đi từ ô \((1,1)\) đến ô \((2, 4)\)