R25_LS01GAME


Submit solution

Points: 80
Time limit: 1.0s
Memory limit: 512M

Problem type

Một trò chơi trên một bảng chữ kích thước \(3×n\) . Các dòng của bảng được đánh số từ \(1\) đến \(3\) , từ trên xuống dưới, các cột của bảng được đánh số từ \(1\) đến \(n\), từ trái qua phải. Ô nằm trên giao của dòng \(i (1≤i≤3)\) và cột \(j (1≤j≤n)\) được gọi là ô \((i,j)\). Mỗi ô của lưới chứa một kí tự từ ký tự \(a\) đến ký tự \(z\).

Bắt đầu chơi, người chơi sẽ thông báo chọn một ô \((i,j)\) là ô xuất phát và nhận được xâu S gồm một kí tự là kí tự ở ô \((i,j)\) . Mỗi lượt, người chơi có thể thông báo kết thúc việc di chuyển hoặc chọn một ô chung cạnh hoặc chung đỉnh ở cột tiếp theo bên phải để di chuyển. Di chuyển đến ô nào, kí tự ở ô đó sẽ được thêm vào cuối của xâu \(S\).

Yêu cầu: Cho bảng chữ, hãy tìm cách chơi để nhận được xâu là xâu đối xứng dài nhất.

Input

  • Dòng đầu chứa số nguyên \(n (n≤1000)\);

  • Ba dòng sau, mỗi dòng chứa một xâu gồm \(n\) ký tự từ ký tự từ ký tự \(a\) đến ký tự \(z\) mô tả bảng chữ.

Output

  • Gồm một dòng chứa một số là độ dài xâuS là xâu đối xứng dài nhất tìm được.

Ràng buộc

  • Subtask 1 (20%): \(n≤10;\)

  • Subtask 2 (80%): \(n≤1000.\)

Sample Input

10 3 3
1 10 9 8 2 3 4 5 6 7
1 3 2

Sample Output

8 10 9

Comments

There are no comments at the moment.