“好”字符
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

字符串的循环同构:表示把字符串的左边第一位移到最后一位,新串再进行这样的操作,得到的一些字符串都是原串的循环同构,例如"bcda"、"cdab"、"dabc"都是"abcd"的循环同构。

给你两个长度相等的字符串 ab ,字符串 ab 均由小写字母组成。

当某个字符 x 在字符串 a 与字符串 bb 的循环同构中出现的所有位置依次对应时(对于字符串的每一位,要么 ab 的这一位都是该字符,要么都不为该字符),称该字符为“好”字符。例如:当 a = "acba",b = "bdaa"时,字符'a'与字符'b'为“好”字符

现在,我们想请你判断字符串 a 与字符串 b 中“好”字符的数量

输入描述:

第一行给你一个 n (1 \leq n \leq 10^6),n 为字符串 ab 的长度。

第二行与第三行为字符串 abab 均由小写字母组成。

输出描述:

单行输出一个数字,表示“好”字符的个数。
示例1

输入

复制
6
acabxb
eababf

输出

复制
2

说明

当b的循环同构体为"ababfe"时,字符'a'为“好”字符,当b的循环同构体为"feabab"时,字符'b'为“好”字符。
示例2

输入

复制
3
abc
cde

输出

复制
1