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: Runtime Error)

#include <bits/stdc++.h>
using namespace std;
/*---define tricks---*/
#define ALL(v) v.begin(),v.end()
#define UN(v) sort(ALL(v)),v.erase(unique(ALL(v)),v.end())
#define FILL(x,y) memset(x,y,sizeof(x))
#define EACH(v,it) for(__typeof(v.begin()) it=v.begin();it!=v.end();it++)
#define FIO ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define revsort(b,e) sort(b,e),reverse(b,e)
/*---define types---*/
typedef long long ll;
typedef unsigned int uint;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<pii> vii;
/*---define variables---*/
vi a,up;
/*---define function---*/

int median(int x)
{
	int A=a[x],b=a[x+1],c=a[x+2];
	if(A<=b&&b<=c)
	{
		return b;
	}
	if(A<=c&&c<=b)
	{
		return c;
	}
	if(b<=A&&A<=c)
	{
		return A;
	}
	if(b<=c&&c<=A)
	{
		return c;
	}
	if(c<=A&&A<=b)
	{
		return A;
	}
	if(c<=b&&b<=A)
	{
		return b;
	}
}

/*---main code---*/
int main()
{
	FIO;
	int m,n;
	cin>>m;
	n=2*m-1;
	a.resize(n);
	for(int i=0;i<n;++i)
	{
		cin>>a[i];
	}
	for(int i=m-1;i>=1;--i)
	{
		up.resize(2*i-1);
		for(int j=0;j<up.size();++j)
		{
			up[j]=median(j);
		}
		a=up;
		up.clear();
	}
	cout<<up[0]<<'\n';
	return 0;
}