#include<stdio.h>
#include<algorithm>
using namespace std;
char A[110];
char B[110];
int main(){
	int a;scanf("%d",&a);
	scanf("%s%s",A,B);
	int t=0;
	for(int i=1;i<=a;i++){
		bool ok=true;
		for(int j=0;j<i;j++)if(A[a-i+j]!=B[j])ok=false;
		if(ok)t=i;
	}
	printf("%d\n",a*2-t);
}
### Prompt

Please create a solution in CPP to the following problem:

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<stdio.h>
#include<algorithm>
using namespace std;
char A[110];
char B[110];
int main(){
	int a;scanf("%d",&a);
	scanf("%s%s",A,B);
	int t=0;
	for(int i=1;i<=a;i++){
		bool ok=true;
		for(int j=0;j<i;j++)if(A[a-i+j]!=B[j])ok=false;
		if(ok)t=i;
	}
	printf("%d\n",a*2-t);
}
```