314005 - 回文路径

农夫FJ的农场是一个N×N的正方形矩阵(2\le N\le500),每一块用一个字母作标记。比如说:

ABCD
BXZX
CDXB
WCBA

某一天,FJ从农场的左上角走到右下角,当然啦,每次他只能往右或者往下走一格。FJ把他走过的路径记录下来。现在,请你帮他统计一下,所有路径中,回文串的数量(从前往后读和从后往前读一模一样的字符串称为回文串)。

Input

第一行包括一个整数N,表示农场的大小,接下来输入一个N×N的字母矩阵。

Output

输出一个整数,表示回文串的数量,因为数值可能非常大,所以要对此数取1000000007的模。

Examples

Input

4
ABCD
BXZX
CDXB
WCBA

Output

12

Hint

1×"ABCDCBA"

1×"ABCWCBA"

6×"ABXZXBA"

4×"ABXDXBA"

Time Limit 1 second
Memory Limit 128 MB
题解 Stats
上一题 下一题