#include<bits/stdc++.h>
using namespace std;
char a[105],b[105];
int ans;
int main()
{
	int l;
	scanf("%d",&l);
	scanf("%s",a);
	scanf("%s",b);
	for(int k=1;k<=l;k++)
	{
		bool p=true;
		for(int i=0;i<k;i++)
		{
			if(a[l-k+i]!=b[i])p=false;
		}
		if(p)ans=k;
	}
	printf("%d",l+l-ans);
}

### Prompt

Please provide a cpp coded solution to the problem described below:

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.

Examples

Input

3
abc
cde


Output

5


Input

1
a
z


Output

2


Input

4
expr
expr


Output

4

### Response

```cpp
#include<bits/stdc++.h>
using namespace std;
char a[105],b[105];
int ans;
int main()
{
	int l;
	scanf("%d",&l);
	scanf("%s",a);
	scanf("%s",b);
	for(int k=1;k<=l;k++)
	{
		bool p=true;
		for(int i=0;i<k;i++)
		{
			if(a[l-k+i]!=b[i])p=false;
		}
		if(p)ans=k;
	}
	printf("%d",l+l-ans);
}

```