#agc007f. [agc007_f]Shik and Copying String

[agc007_f]Shik and Copying String

Problem Statement

#nck { width: 30px; height: auto; }

Shik's job is very boring. At day 00, his boss gives him a string S0S_0 of length NN which consists of only lowercase English letters. In the ii-th day after day 00, Shik's job is to copy the string Si1S_{i-1} to a string SiS_i. We denote the jj-th letter of SiS_i as S_i\[j\].

Shik is inexperienced in this job. In each day, when he is copying letters one by one from the first letter to the last letter, he would make mistakes. That is, he sometimes accidentally writes down the same letter that he wrote previously instead of the correct one. More specifically, S_i\[j\] is equal to either S_{i-1}\[j\] or S_{i}\[j-1\]. (Note that S_i\[1\] always equals to S_{i-1}\[1\].)

You are given the string S0S_0 and another string TT. Please determine the smallest integer ii such that SiS_i could be equal to TT. If no such ii exists, please print -1.

Constraints

  • 1leqNleq1,000,0001 \\leq N \\leq 1,000,000
  • The lengths of S0S_0 and TT are both NN.
  • Both S0S_0 and TT consist of lowercase English letters.

Input

The input is given from Standard Input in the following format:

NN S0S_0 TT

Output

Print the smallest integer ii such that SiS_i could be equal to TT. If no such ii exists, print -1 instead.


Sample Input 1

5
abcde
aaacc

Sample Output 1

2

S0S_0 = abcde, S1S_1 = aaccc and S2S_2 = aaacc is a possible sequence such that S2=TS_2 = T.


Sample Input 2

5
abcde
abcde

Sample Output 2

0

Sample Input 3

4
acaa
aaca

Sample Output 3

2

Sample Input 4

5
abcde
bbbbb

Sample Output 4

-1