Problem:
Score : 200 points

Problem Statement

Snuke is interested in strings that satisfy the following conditions:

The length of the string is at least N.

The first N characters equal to the string s.

The last N characters equal to the string t.

Find the length of the shortest string that satisfies the conditions.

Constraints

1≤N≤100

The lengths of s and t are both N.

s and t consist of lowercase English letters.

Input

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

N
s
t

Output

Print the length of the shortest string that satisfies the conditions.

Sample Input 1

3
abc
cde

Sample Output 1

5

The shortest string is abcde.

Sample Input 2

1
a
z

Sample Output 2

2

The shortest string is az.

Sample Input 3

4
expr
expr

Sample Output 3

4

The shortest string is expr.

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
    int N, s_len, t_len, com_len = 0;
    string s, t;
    cin >> N >> s >> t;

    s_len = s.length();
    t_len = t.length();

    for (int i = min(s_len, t_len); i > 0; i--)
    {
        //cout << s.substr(s_len - i) << endl;
        //cout << t.substr(0, i) << endl;
        if (s.substr(s_len - i) == t.substr(0, i))
        {
            com_len = i;
            break;
        }
    }

    cout << max(N, s_len + t_len - com_len) << endl;

    return 0;
}