最长回文
题号:NC14894
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

有两个长度均为n的字符串A和B。可以从A中选一个可以为空的子串A[l1..r1],B中选一个可以为空的子串B[l2..r2],满足r1=l2,然后把它们拼起来(A[l1..r1]+B[l2..r2])。求用这样的方法能得到的最长回文串的长度。注意:求的不是本质不同的回文串个数哦!!!

输入描述:

第一行一个数n
第二行表示字符串A
第三行表示字符串B

输出描述:

输出一行一个数表示答案
示例1

输入

复制
5
ZQZFC
NSZXL

输出

复制
3

说明

A[1..3]=“ZQZ”,为一个长为3的回文串,B空 
示例2

输入

复制
7
NSZQZFC
CFZQZSN

输出

复制
8

说明

A[1..4]=”NSZQ”
B[4..7]=”QZSN”
拼起来是”NSZQQZSN”,为一个长为8的回文串

备注:

对于100%的数据,有1 <= n <= 100000 , 字符全是大写英语字符